博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC实现上传下载文件
阅读量:2386 次
发布时间:2019-05-10

本文共 1368 字,大约阅读时间需要 4 分钟。

  • SpringMVC实现文件上传的方式有两种

一种是我们经常使用的以字节流的方式进行文件上传,另外一种是使用springMVC包装好的解析器进行上传。这两种方式对于实现多文件上传效率上却有着很大的差距。使用springMVC进行多文件的效率显然要比字符流写入方式效率上要高得多。

http://blog.csdn.net/a1314517love/article/details/24183273

http://blog.csdn.net/swingpyzf/article/details/20230865

http://blog.csdn.net/Q_AN1314/article/details/51906116

http://blog.csdn.net/ryelqy/article/details/75066658?locationNum=2&fps=1

http://blog.csdn.net/wwd0501/article/details/49891023

  • SpringMVC上传下载

配置MultipartResolver实现文件上传

实现多文件上传

实现文件下载

(id必须为multipartResolver,已经是固定的)

配置form表单,必须添加enctype=”multipart/form-data”

引入的jar包

编写Java代码

多文件上传,只需在用for循环依次上传文件

文件下载主要采用字节流的形式

  • 上传下载实例

单文件上传

upload.jsp

controller层FileController

多文件上传

upload.jsp

添加多个文件

文件下载

下载需要把文件转换成二进制流,然后让客户端读取这个二进制流写入到本机,这样就实现了下载功能。

那么现在就要想两个问题:

1、怎么把文件写成二进制流(写成二进制流可以用之前导入的上传组件提供的方法:FileUtils.readFileToByteArray(file)

2、怎么把让客户端相应,开始下载(让浏览器响应,则需要设置相应的httpHeader了,并且利用spring提供的ResponseEntity把返回值设置为header和响应内容)

注意:在下载的代码中,Contoller层,方法返回值。java.lang.IllegalStateException: getOutputStream() has already been called for this response

注意:

//String path = Thread.currentThread().getContextClassLoader().getResource("").getPath() + "upload";

//D:\Program%20Files%20(x86)\Apache%20Software%20Foundation\Tomcat%207.0\webapps\ssmTest\WEB-INF\classes\upload\1484118248322M201676177???é??.doc (系统找不到指定的路径。)

 

SpringMVC单文件上传、多文件上传、文件列表显示、文件下载,springmvc文件上传

ssm框架下文件上传

你可能感兴趣的文章
php memcached使用中的坑
查看>>
php变量引用和计数_refcount_gc和is_ref_gc
查看>>
windows环境下php和Php扩展编译,扩展dll文件编译
查看>>
magento 验证码
查看>>
magento性能优化系列二:db篇
查看>>
Discuz!$_G变量的使用方法
查看>>
magento memcache缓存配置
查看>>
PHP json_encode中文乱码解决方法
查看>>
mysql服务启动、关闭
查看>>
php获取中文字符串的首字符拼音字母
查看>>
php curl通过代理获取数据
查看>>
6 个 Linux性能监控命令行工具
查看>>
mysql 编码字符集配置
查看>>
php查看opcode编码的扩展 opdumper
查看>>
php转换html格式为文本格式
查看>>
mysql-proxy主从服务架构下读写分离和负载均衡实现及原理
查看>>
Nginx location 和 rewrite retry
查看>>
基于nginx的FastCGI的缓存配置
查看>>
Nginx模块fastcgi_cache的几个注意点
查看>>
PHP使用curl伪造IP地址和header信息
查看>>