发布网友 发布时间:2024-12-27 20:03
共1个回答
热心网友 时间:2024-12-27 21:48
本文作者:乐字节-坑王老薛
文件下载案例实操与超链接下载
在HTML或JSP页面中,超链接常用于跳转,但在遇到动态网页时会自动下载文件。浏览器对某些资源直接显示,如txt、png、jpg等,可通过`download`属性引导下载。
默认下载与指定下载
通过`download`属性设置文件下载,不需额外信息则自动使用默认文件名,用户点击链接后直接下载文件。
后台实现下载
实现文件下载,需执行以下步骤:
1. 通过`HttpServletResponse.setContentType`设置`Content-type`头字段值,指定数据类型,如`application/octet-stream`或`application/x-msdownload`。
2. 设置`Content-Disposition`头为`attachment;filename=文件名`,提供下载文件的默认文件名。
3. 读取下载文件,使用`HttpServletResponse.getOutputStream`返回的`OutputStream`对象向客户端写入附件内容。
扩展:HTML表单编码
HTML表单的`enctype`属性定义数据如何编码并提交至服务器。
`enctype`有三个值:
1. `application/x-www-form-urlencoded`:每个数据项的名称和值使用编码URL方法编码。数据项的名称和值由等号分隔,元组由&符号分隔。
2. `multipart/form-data`:用于上传文件,数据项放在一行,特殊字符无需编码。
3. `multipart/plain`:浏览器以不同方式编码数据,Google Chrome与`application/x-www-form-urlencoded`相同,Firefox则直接编码,不进行特殊字符编码。
热心网友 时间:2024-12-27 21:43
本文作者:乐字节-坑王老薛
文件下载案例实操与超链接下载
在HTML或JSP页面中,超链接常用于跳转,但在遇到动态网页时会自动下载文件。浏览器对某些资源直接显示,如txt、png、jpg等,可通过`download`属性引导下载。
默认下载与指定下载
通过`download`属性设置文件下载,不需额外信息则自动使用默认文件名,用户点击链接后直接下载文件。
后台实现下载
实现文件下载,需执行以下步骤:
1. 通过`HttpServletResponse.setContentType`设置`Content-type`头字段值,指定数据类型,如`application/octet-stream`或`application/x-msdownload`。
2. 设置`Content-Disposition`头为`attachment;filename=文件名`,提供下载文件的默认文件名。
3. 读取下载文件,使用`HttpServletResponse.getOutputStream`返回的`OutputStream`对象向客户端写入附件内容。
扩展:HTML表单编码
HTML表单的`enctype`属性定义数据如何编码并提交至服务器。
`enctype`有三个值:
1. `application/x-www-form-urlencoded`:每个数据项的名称和值使用编码URL方法编码。数据项的名称和值由等号分隔,元组由&符号分隔。
2. `multipart/form-data`:用于上传文件,数据项放在一行,特殊字符无需编码。
3. `multipart/plain`:浏览器以不同方式编码数据,Google Chrome与`application/x-www-form-urlencoded`相同,Firefox则直接编码,不进行特殊字符编码。