文件下载有两种方法:
1.直接在网站上放个链接地址,右键另存为,(文件名为中文时下载报错)
2.通过后台实现下载(代码实现 控制中文不乱码)
文件下载代码:
//其中%20是空格在UTF-8下的编码
public String downloadLocal() throws FileNotFoundException, UnsupportedEncodingException {
HttpServletResponse response = (HttpServletResponse)ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
// 下载本地文件
String fileName = URLEncoder.encode("6767.pdf", "UTF-8"); // 文件的默认保存名
//fileName = fileName.replace("+", "%20");
File file = new File(getPath()+"/upload/ytytry5中文.pdf");
// 读到流中
InputStream inStream = new FileInputStream(getPath()+"/upload/gjw_123456_touzi.pdf");// 文件的存放路径
// 设置输出的格式
response.reset();
response.setContentType("application/pdf");
response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
// 循环取出流中的数据
byte[] b = new byte[1024];
int len;
try {
while ((len = inStream.read(b)) > 0)
response.getOutputStream().write(b, 0, len);
inStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return SUCCESS;
}
response.setContentType 参数参照http://360193550.iteye.com/blog/2002915
分享到:
相关推荐
本话题将详细探讨如何通过Ajax实现Java文件的下载,并介绍相关的核心概念和技术。 1. **Ajax**(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript...
Java文件下载的几种方式,是很方便的,找了半天找到了,共享一下
前端vue,后端java。 如果前端是其他语言,可自行转换。 实现在浏览器前端点击后的文件下载。 不是整个工程代码,只把涉及到下载用的前端的代码和后端的代码贴出来了,可以直接复制使用,有详细的步骤。 包含了前端...
文件下载的工具类java代码,设置编码格式,避免下载中文乱码
java文件下载工具类
进度条:78%[===================> ]97.7K/s, will be finished in 75.59s 限速、文件网络地址、文件本地路径,均可在代码里修改。