Java Web 项目的文件/文件夹上传下载(一)

最近做了一个模仿百度网盘的项目,项目中文件及文件夹的操作遇到了很多的问题。接下来就对这些问题以及解决方案进行总结

上传文件/文件夹 from表单属性设置

from表单的提交方式必须是post,添加属性enctype="multipart/form-data"

input元素中加上multiple="multiple",可以一次选中多个文件上传(无法选中文件夹)。 加webkitdirectory则是文件夹上传。

<form method="post"  action="uploadservlet" id="fileForm" enctype="multipart/form-data">
	<input type="file"  name="myFile" value="" multiple="multiple" />
</form>
							
<form method="post"  action="directoryservlet" id="dirForm" enctype="multipart/form-data">
	<input type="file"  name="myDir" value=""  webkitdirectory />
</form>

深究一下可以发现普通的post请求默认的MIME内容编码类型(请求头Context-Type)是application/x-www-form-urlencoded

加了enctype="multipart/form-data"之后MIME内容编码类型multipart/form-data; boundary=----WebKitFormBoundaryEpoNzBUlm1IwzabT

也就是把上传内容变成了多部件的形式(一个容器中包含多个 内容头+内容体)

MIME:多用途的网际邮件扩充协议

 

什么是MIME类型:在把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。这可以通过多种类型MIME(多功能网际邮件扩充协议)来完成。在HTTP中,MIME类型被定义在Content-Type header中。

 

默认post请求:

 

多部件:



 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值