shengke的gravatar头像
shengke2015-01-26 12:19:49

java Servlet上传下载文件http协议原理详解

前几天要用到文件上传下载,找了找,总结一下:

示例是用java Servlet实现的,如果你有其他的需求可以加以修改,其原理是不变的。

1:文件上传后台步骤:

获取request当中的流信息,保存到临时文件

从临时文件当中得到上传的文件名,以及文件内容,即文件内容的起始位置

根据文件起始位置读取上传文件内容

2:文件下载

前端页面通过超链接方式发起文件下载请求,把要下载的文件名传递给后台

在servlet实现文件的下载操作(设置响应类型及响应头,输出流写入文件内容)

使用httpfox看上传文件的内容,为了观看方便,本地新建一个text文档

java Servlet上传下载文件http协议原理详解

使用httpfox看上传文件的内容

java Servlet上传下载文件http协议原理详解

对数据流的解释:

-----------------------------16072929884245426741004569681 

//对我们没用
Content-Disposition: form-data; name="myfile"; filename="test"

//只要使用filename="test"这个“”里面的,也就是我们的上处的文件名,代码里使用字符串截取获得的。
Content-Type: application/octet-stream

//上传的类型是application/octet-stream

//下面就是上传文件的具体内容了,也是我们需要存储的内容

hello!haha

-----------------------------16072929884245426741004569681--


打赏

文件名:fileSCXZ.zip,文件大小:116.548K下载
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友