读书人

用struts2写的文件上载迅雷显示的文件

发布时间: 2012-12-17 09:31:40 作者: rapoo

用struts2写的文件下载迅雷显示的文件后缀名是action???!!!
使用struts2写了一个文件下在的Action结果下点击文件下载的时候,迅雷弹出的下载框中显示的文件名为那个处理下载的Action,而用IE下载的时候文件名显示是正常的。
请问这是什么原因,有什么办法可以解决?

[解决办法]
你需要处理下乱码问题


[解决办法]
继续下载,不能正确解析文件吗?
[解决办法]
没,好比我现在下载的文件名是demo.doc但是我点击下载按钮时,那下载的文件名称变成了我的action的方法名称。xxx.action这样的文件名称,我用IE可以正常下载文件,名称也是正确的。如果谁知道,希望给我一个解决的思路,我现在很急。
[解决办法]

引用:
使用struts2写了一个文件下在的Action结果下点击文件下载的时候,迅雷弹出的下载框中显示的文件名为那个处理下载的Action,而用IE下载的时候文件名显示是正常的。
请问这是什么原因,有什么办法可以解决?


下载下来后就是文件名称了,主要下载action的配置文件中的attachment; filename这个2个有关
attachment用了这个配置就会触发下载工具,不要就可以了
filename是下载文件的名称也可以配置的

[解决办法]
我的这个错误就是在讯雷那文件名称那显示不正确,我下载下来的文件都是正确名称,而且可以打开。
[解决办法]
这是我那action里面的方法
/**
* 下载附件方法
*/
public String upLoadDow(){

HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
InputStream in = null;
OutputStream os = null;
try{
String path = request.getParameter("path");
System.out.println(path);
path = new String(path.getBytes("iso-8859-1"),"UTF-8");
File file = new File(path);
try{
in = new FileInputStream(file);
os = response.getOutputStream();
}catch(FileNotFoundException ex){
ex.printStackTrace();
}
response.setContentType("application/octet-stream; charset=UTF-8");
response.addHeader("Content-Disposition", "attachment; filename=" + new String(path.split("//")[1].getBytes("gb2312"),"ISO-8859-1"));
int data = 0;
while((data = in.read()) != -1){
os.write(data);
}
}catch(Exception ex){
// ex.printStackTrace();
}finally{
try {
os.close();
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("bbbbbb----------------");
e.printStackTrace();
}

}
return null;
}
[解决办法]
你试着可以在程序里给你下文件命名,没试过,,不知道可不可以
[解决办法]
你试着可以在程序里给你下文件命名,没试过,,不知道可不可以
[解决办法]
其他大网站都是这样的啊,去新浪ishare下载首歌,迅雷下载显示是.php啊,不是.mp3
[解决办法]
为了积分
[解决办法]
真的不能解决吗?
------解决方案--------------------


引用:
真的不能解决吗?

那应该是迅雷的问题,不是你的问题吧
[解决办法]
为了积分
[解决办法]
这个。。。。。 那个.php之类的 下载一会就变成正确地址了。。。。。




[解决办法]
我也遇到此问题。没人解决啊。
[解决办法]
我也遇到同样的问题,下载后改后缀可用,并且连IE也不行,请问现在找到解决办法了吗,有点话请分享一下,谢谢!
[解决办法]
同样的问题,期待牛人解决
[解决办法]
同样的问题 求解
[解决办法]
我遇见的是同样的问题,还不能解决。
[解决办法]
哦卖瓜得,偶也遇到这问题了,用迅雷不能下载。咋办?咋办?
[解决办法]
我也遇到同样问题。貌似迅雷获取的是/后面的名字。可以下载正确的文件,只是无法获取文件的真实名字,获取的是action名字
[解决办法]
解决了没啊?
[解决办法]
我用了struct2 的框架下载文件实现,使用迅雷也是action,但是使用IE就可以正常下载
[解决办法]
把utf-8编码改为GBK即可。也不懂为什么
[解决办法]
null
[解决办法]
我也有这样的问题。
楼主 解决了吗,分享下原因。
我用你的那段代码 不仅名字不对 都不能正确下载 下载的是错误信息

读书人网 >Java Web开发

热点推荐