struts2 文件下载 中文乱码问题

struts2设置:<!--文件下载Action--><actionname="download"class="action.MyDownload"><paramname... struts2设置:
<!-- 文件下载 Action -->
<action name="download" class="action.MyDownload">
<param name="inputPath">\save\模版.doc</param>
<result name="success" type="stream">
<!--<param name="contentType">application/octet-stream</param> -->
<param name="allowedExtensions">doc,docx;charset=UTF-8</param>
<param name="inputName">targetFile</param>
<!-- inline(内联)attachment(附件形式)前者直接打开,后者对话框 filename="模版.doc"-->
<param name="contentDisposition">attachment;filename="模版.doc"</param>
<param name="bufferSize">2048</param>
</result>
</action>

Action设置:
package action;
import java.io.InputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class MyDownload extends ActionSupport {
private String inputPath;
public void setInputPath(String inputPath) {
this.inputPath = inputPath;
}
public InputStream getTargetFile() throws Exception {
return ServletActionContext.getServletContext().getResourceAsStream(
inputPath);
}
public String execute() throws Exception {
return SUCCESS;
}
}

网上找了很多例子 不行啊
展开
 我来答
风飞尘落
2015-11-26 · 心理咨询师,中国科学院心理研究所
风飞尘落
采纳数:26463 获赞数:163425

向TA提问 私信TA
展开全部
在 struts.xml 加耐罩好 <constant name="struts.i18n.encodeing" value="GBK"/><!--国际化信息内码-->试试
另外 jsp页面用的什么编码,struts.xml中就用什么编码,例如如果在struts的配置文件中指定的是gbk 那么页面用gb2312和gbk都可以,不要用utf-8,如昌铅果struts配置文件中是闷枣utf-8,那么页面就用utf-8 不要用gb2312和gbk
icefire8080
2013-02-27 · TA获得超过252个赞
知道小有建树答主
回答量:325
采纳率:0%
帮助的人:94.6万
展开全部
我是这样解决的,希望可以帮助到你.
try {
//字符串加密文件名上传
URLDecoder.decode("加密字符串","UTF-8"游带);
//字符串解密文件名桥磨辩下载
URLEncoder.encode("解密字符串", "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
不过这个在IE下还行敏缺得通,在firefox下还是有点问题.望楼主参考参考.
希望可以帮助到你.
追问
您好,我需要把这段代码加到哪里?struts新手,见谅。。
追答
//字符串加密文件名上传
URLDecoder.decode("加密字符串","UTF-8");
这一段请放在上传文件后保存的文件名称,或存储到资料库中的文件名

//字符串解密文件名下载

URLEncoder.encode("解密字符串", "UTF-8");
这一段请放在点击下载按钮后下载的文件名称(也就是把先前加密的文件名解密)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友30698ca76
2013-02-27 · 超过25用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:68.4万
展开全部
你在csdn里面搜索下struts2上传下载
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式