我用java做了一个通过url地址下载指定文件的功能,文件名可能包含中文,IE正常,火狐失败. 10
我先是用URLEncoder.encode()对url地址进行编码,前台点击下载时会传回已经编码的url,然后对其进行解码fileName=newString(fileN...
我先是用URLEncoder.encode()对url地址进行编码,前台点击下载时会传回已经编码的url,然后对其进行解码fileName = new String(fileName.getBytes("ISO-8859-1")),可是用火狐操作这个功能时,却告诉我"内容损坏错误 您要查看的该页面无法显示,因为检测到数据传输错误。"请问为什么? 然后怎么解决.谢谢!急
最后问一句,跟这行代码的设置有关吗?
getResponse().setHeader("Content-Disposition", "attachment;filename=" + fileName); 展开
最后问一句,跟这行代码的设置有关吗?
getResponse().setHeader("Content-Disposition", "attachment;filename=" + fileName); 展开
6个回答
展开全部
您好!很高兴为您答疑!
火狐下您可以安装Firebug检查页面代码,它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力助手。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
火狐下您可以安装Firebug检查页面代码,它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力助手。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
注释掉这句getResponse().setHeader("Content-Disposition", "attachment;filename=" + fileName);
试试
试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getResponse().setContentType("text/html;charset=UTF-8");
试试
试试
追问
谢谢 IE倒是没啥影响 火狐还是不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
您好!很高兴为您答疑。
据您所述,该提示其实质是浏览器的下载进程未能正确获取您所要指定下载的文件。其根源应该还是您进行filename编码时可能编译出来的文件名实际在浏览器中进行解析时无法识别。建议您尽量避免双字节字符作为文件路径(所有双字节,不限中文),而不同的用户在浏览器的设置上存在差异,这又为您实现的下载策略的稳定性增加了不确定因素。
如果对我们的回答存在任何疑问,欢迎继续问询。
据您所述,该提示其实质是浏览器的下载进程未能正确获取您所要指定下载的文件。其根源应该还是您进行filename编码时可能编译出来的文件名实际在浏览器中进行解析时无法识别。建议您尽量避免双字节字符作为文件路径(所有双字节,不限中文),而不同的用户在浏览器的设置上存在差异,这又为您实现的下载策略的稳定性增加了不确定因素。
如果对我们的回答存在任何疑问,欢迎继续问询。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询