Java中的文件上传和下载

Posted LionheartCGJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的文件上传和下载相关的知识,希望对你有一定的参考价值。

文件上传原理:

  早期的文件上传机制:

    在TCP/IP中。最早出现的文件上传机制是FTP。他是将文件由客户端发送到服务器的标准机制。

  jsp中的文件上传机制:

    在jsp编程中不能使用FTP的方法来上传文件,这是由jsp运行机制所决定的。jsp中通过将表单元素设置Method="post" enctype="multipart/form-data" 属性,让表单以二进制编码的方式提交,在接收次请求的Servelet中用二进制流来获取内容,从而实现文件的上传。

    表单的enctype属性:

      application/x-www-form-urlencoded:默认编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码的方式。

      multipart/form-data:这种编码方式的表单会以二进制流的方式来处理表单数据,这种编码方式会把文件域制定文件的内容也封装到请求参数里。

      text/plain:这种方式主要适用于直接通过表单发送邮件的方式。

文件下载原理:

  setp1:通过HttpServletResponse.setContentType()方法设置Content-Type头字段的值,来设置MIME类型,告诉浏览器应该使用那种方式来响应我们的返回的信息,例如设置为:"application/octet-stream" 或 "application/x-msdownload"等。

  step2:通过HttpServletResponse.setHeader()方法设置Content-Disposition头的值为 "attachment;filename= 文件名"。

  step3:读取下载文件,调用HttpServletResponse.getOutputStream()方法返回的ServletOutputStream对象来向客户端写入附件文件内容。

 

  

以上是关于Java中的文件上传和下载的主要内容,如果未能解决你的问题,请参考以下文章

Java Web总结-- 上传和下载

java 文件的上传和下载

java的纯JDBC能实现上传下载吗?怎么实现?

Java FTPClient实现文件上传下载

用java完成文件ftp上传下载

用java实现文件的上传与下载