MVC文件上传 及其他-阿里云开发者社区

开发者社区> 死瘦宅> 正文

MVC文件上传 及其他

简介: 文件上传 1.添加jar包,maven中 dependency>commons-fileuploadcommons-fileupload1.3.3 2.在springxml文件中,设置上传文件的配置信息 bean id="multipartResolver" p:defaul.
+关注继续查看

文件上传

  1.添加jar包,maven中

dependency>
commons-fileupload
commons-fileupload
1.3.3

  
  2.在springxml文件中,设置上传文件的配置信息

bean id="multipartResolver"

    p:defaultEncoding="UTF-8"
  p:maxUploadSize="10485760"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver"


切记 id一定要写成上面的名字

    public void upd(MultipartFile file1, String username, HttpServletRequest request) throws IOException {
        byte b[] = file1.getBytes();
        // 获得文件的运行路径,及文件的下载名称
        File file = new File(request.getServletContext().getRealPath("WEB-INF/upload"), file1.getOriginalFilename());
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        fileOutputStream.write(b);
        fileOutputStream.close();
    }

下载代码

    public void xia(MultipartFile file1, HttpServletResponse response) throws IOException {
        //说明文件路径及文件类型 及上传的编码格式
        File file = new File("F:\\一些软件\\压缩包\\Keymaker-CORE(思维导图).rar");
        response.setContentType("application/x-rar-compressed");
        response.setCharacterEncoding("UTF-8");

        //得到父路径名称,进行替换的到子类的文件名,并说明子类的文件名格式
        String name = file.getCanonicalPath();
        name = name.replace(file.getParent() + "\\", "");
        String filename = new String(name.getBytes(), "ISO-8859-1");

        //将文件名称带入到头信息中,并说明是下载
        response.setHeader("Content-Disposition", "attachment;filename=" + filename);
        
        //从response中拿到outputStrem流
        //用FileInputStream从文件上读上来 用outputStrem通过tcp进行传输
        FileInputStream fileInputStream = new FileInputStream(file);
        byte by[] = new byte[8 * 1024];
        int leng;
        OutputStream outputStream = response.getOutputStream();
        while ((leng = fileInputStream.read(by)) != -1) {
            outputStream.write(by, 0, leng);
            outputStream.flush();
        }
        fileInputStream.close();
    }

defaultServlet

  因为mvc中静态资源进行了拦截所以要在配置文件中配置

!--优先级低 所有的类都没找见他再去找-->
mvc:default-servlet-handler>

mvc:resources 资源配置
因为我们有时候需要将静态资源放在WEB-INF下,当我们配置,外界就可以访问我们指定的 WEB-INF指定的夹子(好处打包可以将静态资源打包进去)
mvc:resources mapping="/css/**" location="/WEB-INF/css/" />
//mapping 网络访问路径

//location 本地文件夹路径

拦截器就是对你的访问进行拦截(可以进行合法型判断,登录做记录,日志等操作),也可以在返回参数的时候补参数
拦截器开发

    1.写一个普通类型实现接口  HandlerInterceptor
    2.里面有三个方法重写
           preHandle(action业务方法请求之前进行访问) 参数设置 true 继续向下走 false 终止
           下面两个给力请求头和响应头 可以进行补参 等等操作
           postHandle(action中的业务方法执行完毕后进行试图渲染前的调用)
           afterCompletion(视图渲染后的调用)
    3.配置文件信息
      mvc:interceptors>

mvc:interceptor>

    <mvc:mapping path="/admin/**"/>//网络访问路径
    <mvc:exclude-mapping path="/admin/test2"/> 受到管理的对象
    <bean class="com.kaige123.view.TestHandlerInterceptor"/>
</mvc:interceptor>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
spring mvc不能引入js等静态文件的解决办法
spring mvc 静态资源 404问题(注意 最好不要把静态文件放在在WEB_INF下面,第1,2种方法不能访问,第三种可以访问) 在web.xml配置servlet-mapping的时候,如果url-pattern设置为“/” (如下),很多人都会遇到导入js,css,图片等静态资源出现Firefox调试窗口会报出的404错误,而你的确也不能访问那些资源 &lt;se
1565 0
SocketIo+SpringMvc实现文件的上传下载
SocketIo+SpringMvc实现文件的上传下载 socketIo不仅可以用来做聊天工具,也可以实现局域网(当然你如果有外网也可用外网)内实现文件的上传和下载,下面是代码的效果演示: image GIT地址: https://github.
941 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12070 0
【HTML5+MVC4】xhEditor网页编辑器图片上传
准备工作: 创建一个MVC项目中,添加好xhEditor插件 相关用法:http://www.cnblogs.com/xcsn/p/4701497.html   注意事项:xhEditor分为v1.
999 0
模拟提交有文件上传的表单(通过http模拟上传文件)
通过HTTP模拟GET或POST请求,提交数据到服务端获取响应,比较常见些;但如上传文件到服务端,使用html form当然简单了,而因环境所限有时需要使用模拟方法去提交有附件(文件上传)的表单。我们暂且不说如何去模拟数据,通过一个简单的form看看当请求发生时,客户端提交了什么样的数据给服务端。
1073 0
Spring MVC 之文件上传(七)
SpringMVC同样使用了apache的文件上传组件。所以需要引入以下包: apache-commons-fileupload.jar apache-commons-io.jar 在springAnnotation-servlet.
561 0
+关注
62
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载