下载文件默认文件名中文乱码问题的解决
2013-05-16 13:11
1126 查看
下载文件默认文件名中文乱码问题的解决一般是因为没有转码导致。
package sample.server; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.ui.Frame; public class DownloadServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { //此函数对应之前的 Frame frame = //new Frame( GWT.getModuleBaseURL() + "filedownload" + "?id=downloadiframe"+"&filename=" + filename ); //传文件名那个简单啊 String filename = req.getParameter("filename"); //这边你要自己决定从哪下载的文件!! 我是把上传路径直接给他了 //这里说下。。我先前没自己创建 uploads 结果十分悲剧 //记得在 war 路径下创建 !! String filepath = req.getRealPath("/uploads"); File file = new File( filepath+"/"+filename ); FileInputStream fis = new FileInputStream(file); resp.addHeader("Content-Disposition","attachment; filename=" + filename );//此处设置默认下载文件名,如果是中文肯定乱码,需要做一次ULL转码,Server.UrlEncode(filename) ServletOutputStream out = resp.getOutputStream(); resp.setBufferSize(32768); int bufSize = resp.getBufferSize(); byte[] buffer = new byte[bufSize]; BufferedInputStream bis = new BufferedInputStream(fis,bufSize); int bytes; while ((bytes = bis.read(buffer, 0, bufSize)) >= 0) out.write(buffer, 0, bytes); bis.close(); fis.close(); out.flush(); out.close(); } }
相关文章推荐
- 下载文件默认文件名中文乱码问题的解决
- 文件下载与中文文件名乱码问题解决
- IE浏览器下载文件中文文件名乱码问题解决
- 解决Java下载文件,文件名包含中文在IE浏览器乱码问题
- 解决下载的默认文件名中的中文是乱码的问题!
- 实现文件下载与中文文件名乱码问题解决
- jsp实现文件下载与中文文件名乱码问题解决
- 解决PHP在IE浏览器下载文件,中文文件名乱码问题
- php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
- Struts2 .apk 文件下载及解决中文文件名乱码问题(转)
- 【转】彻底解决Asp.net文件下载(Response.WriteFile)时文件名的中文乱码和空格异常问题
- 解决从数据库下载文件时,中文文件名为乱码的问题!
- 解决PHP在IE中下载文件,中文文件名乱码问题
- jsp实现文件下载与中文文件名乱码问题解决
- 解决PHP在IE浏览器下载文件,中文文件名乱码问题
- c# web 下载文件(解决中文文件名乱码问题)
- 解决PHP在IE浏览旗下载文件,中文文件名乱码问题
- 使用Content-Disposition: attachment; filename=FILENAME,在Firefox浏览器中下载文件,文件名中文乱码问题解决。
- jsp实现文件下载与中文文件名乱码问题解决
- 如何解决ASP.NET下载时的中文文件名乱码,与TXT文件中存在代码两个问题