第十章 文件上传

发布时间:2024年01月11日

1.文件上传的介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击上传
在这里插入图片描述

2.上传的http协议内容介绍

在这里插入图片描述
下面展示提交之后,服务器这边会做什么处理,收到了哪些内容
在这里插入图片描述
上面是请求头,下面是请求体
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

因为客户端是以流的形式发送的,所以也必须以流的形式接收
在这里插入图片描述
下面一些乱七八糟的乱码就收到的上传的文件数据
在这里插入图片描述

3.上传合用到的类和方法的介绍

我们可以使用下面的jar包对我们收到的数据进行解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.使用fileupload解析上传数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

之后我们在(客户端)浏览器页面进行上传操作
在这里插入图片描述
我们在服务端可以收到信息
在这里插入图片描述

上传的图片也成功的保存在磁盘上
在这里插入图片描述

5.文件下载的实现

上一节是文件的上传,这一节讲文件的下载
我先在服务器中新建一个file文件夹,并且放两个文件2.jpg和3.jpg
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们一起的做法是不停的用while循环读取
但我们现在有commons相关的包,里面有工具类可以直接使用
在这里插入图片描述
告诉客户端要返回的数据类型放到前面去操作
在这里插入图片描述
下面进行配置(注意:配置文件写好了要重新部署才能生效)
在这里插入图片描述

我在客户端(浏览器)输入访问地址,图片就会显示成功
在这里插入图片描述
在这里插入图片描述
我们这里在进去浏览器后,图片被直接显示在客户端上面
但我们希望的是下载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下面重新部署一次
下载成功
在这里插入图片描述

6.使用URLEncoder解决谷歌和中文浏览器中文下载名乱码问题

我下载下来的名字是可以自己指定一个的
可以跟原来下载的原文件名不同
在这里插入图片描述
在这里插入图片描述
如果我改的文件名有中文
在这里插入图片描述
这里文件名无法识别
在这里插入图片描述
如果我们的浏览器为谷歌浏览器,那我们需要对这个中文名进行URL编码
在这里插入图片描述
在这里插入图片描述

7.Base64编解码操作

在这里插入图片描述
火狐浏览器是没有办法使用以上方法的
在这里插入图片描述
下面是编码操作
在这里插入图片描述

下面是解码操作
在这里插入图片描述
在这里插入图片描述

8.使用Base64编解码解决火狐浏览器附件中文乱码问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个时候火狐浏览器也可以了
在这里插入图片描述

9.使用User-Agent请求头判断,动态切换不同的浏览器方案解决所有浏览器附件中文乱码问题

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_72232218/article/details/135522915
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。