关于文件上传和下载



1.用servlet来做 这个你要写的servlet是要extends httpservlet,在doGet 与doPost中处理。要用到文件上传解析器ServletFileUpload,解析结果返回的是一个List<FileItem>集合,后续的操作就是对fileItem这个类的方法的使用。详情可见这篇博客,写得相当详细,第一次做这个功能就是用servlet来做的那个时候刚接触springMVC,所以选择了servlet


2.上传时,表单要用enctype="multipart/form-data" method="post"来表示进行文件上传。下载就没有这么多限制。用get请求也可以,不过下载的时候有各种response头设置如:

response.setCharacterEncoding("utf-8");

response.setContentType("multipart/form-data");

response.setHeader("Content-Disposition","attachment;fileName="

+fileName);

Content-Type 的类型为要下载的类型时 , 这个信息头会告诉浏览器这个文件的名字和类型。

3.主要思想就用io流把文件给到本地(对应下载)和写到服务器(对应上传),对InPutStream 和outPutStream的使用,以及他的构造器的使用 如这段代码:InputStream inputStream =newFileInputStream(newFile(path,fileName)) 从这个路径中的此文件去建一个个字节输入流。

4.用springMVC来做就很简单了 有一个封装的类MultipartFile[] myfiles,这个类有点类似FileItem这个类 详细代码见个oschina博客 。

写此文的目的就是没有接触过下载,第一次接触,没想的那么难,而且在springMVC中更便捷(自带了multipartResolver解析器)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容