大神们 struts文件上传乱码问题 求赐教!!!

夕蒙天空 2013-11-02 10:20:30

我用system.out.print()输出时没有问题,
用debug调试时运行到FileInputStream fis = new FileInputStream(pic);时uploadPath的值都是正确的(其中含有中文)
一执行下一步即FileOutputStream fos= new FileOutputStream(uploadPath+"/"+newFileName);时uploadPath值中的中文立刻变成乱码(???) 各位大牛们 帮帮看看 多提建议 小弟在此不胜感激啊!!!
...全文
94 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
别闹腰不好 2013-11-05
  • 打赏
  • 举报
回复
引用 5 楼 u012463264 的回复:
用字节流写啊 你是说上传后的文件乱码吧?
用字符流
别闹腰不好 2013-11-05
  • 打赏
  • 举报
回复
用字节流写啊 你是说上传后的文件乱码吧?
夕蒙天空 2013-11-05
  • 打赏
  • 举报
回复
引用 1 楼 huxiweng 的回复:

FileOutputStream fos = new FileOutputStream(f);
                OutputStreamWriter writer = new OutputStreamWriter(fos, encoding);
// 这里encoding设置下格式比如UTF-8/gbk.看你原来的编码是什么
编码无问题
夕蒙天空 2013-11-05
  • 打赏
  • 举报
回复
结贴了 问题解决了 是路径问题:
FileOutputStream fos= new FileOutputStream(uploadPath+"/"+newFileName);
这句中的"/"存在问题 然后工程不能完整运行(路径编码无问题),ie提供报错页面时编码不正确导致页面中路径乱码其实路径是没问题的,

将FileOutputStream fos= new FileOutputStream(uploadPath+"/"+newFileName);改为
将FileOutputStream fos= new FileOutputStream(uploadPath+newFileName);就运行正常了
qq4645 2013-11-02
  • 打赏
  • 举报
回复
很好奇你那个pic是怎么过来的,图片包含的是二进制数据,又不是转换成字符串,写的时候何需指定编码!? 推测你获得pic出了问题
teemai 2013-11-02
  • 打赏
  • 举报
回复

FileOutputStream fos = new FileOutputStream(f);
                OutputStreamWriter writer = new OutputStreamWriter(fos, encoding);
// 这里encoding设置下格式比如UTF-8/gbk.看你原来的编码是什么

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧