JavaWeb知识总结-文件的上传和下载

文件的上传介绍

1、要有一个form标签,method=post请求

2、form标签的encType属性值必须为multipart/form-data值

3、在form标签中使用input type=file添加上传的文件

4、编写服务器代码(Servlet程序)接收,处理上传的数据

encType=multipart/form-data 表示提交的数据,以多段(每一个表单项一个数据段)的形式进行拼接,然后以二进制流的形式发送给服务器

文件上传,HTTP协议的说明

上传文件需要导入的jar包:

commons-fileupload-1.2.1.jar

commons-1.4.jar

文件下载

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

这个响应头告诉浏览器。这是需要下载的。而attachment表示附件,也就是下载的一个文件。fileName=后面,表示下载的文件名。

如果要下载的文件是中文名的话,就会出现乱码的情况。原因是在响应头中,不能包含中文字符,只能包含ASCLL码。

附件中文名乱码问题的解决方案:

如果客户端浏览器是IE浏览器或者谷歌浏览器。我们需要使用URLEncoder类先对中文名进行UTF-8的编码操作。

因为IE浏览器和谷歌浏览器收到含有编码后的字符串会议UTF-8字符集进行解码显示。

String str = "attachment; fileName=" + URLEncoder.encode("中文.jpg", "UTF-8");

response.setHeader("Content-Disposition", str);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值