您的位置:首页 > 编程语言 > Java开发

struts实现文件上传

2010-10-02 14:02 531 查看
struts中实现文件下载的主要代码:

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String strFileName = "测试文件.rar";
File file = new File("具体路径" + strFileName);//
if(file.exists()){
try{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
byte[] buffer = new byte[1024];
strFileName = java.net.URLEncoder.encode(strFileName, "UTF-8");//处理中文文件名的问题
strFileName = new String(strFileName.getBytes("UTF-8"),"GBK");//处理中文文件名的问题
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-rar-compressed");//不同类型的文件对应不同的MIME类型
response.setHeader("Content-Disposition","attachment; filename=" + strFileName);
OutputStream os = response.getOutputStream();
while(bis.read(buffer) > 0){
os.write(buffer);
}
bis.close();
os.close();
}
catch(Exception e){
......
}
}
return mapping.getInputForward();
}


在Struts中的实现和在ASP.NET的实现类似,这段代码就是将服务器上的文件以流的方式发送到客户端浏览器,如果要是在线打开的方式的话还应将response.setHeader("Content-Disposition","attachment; filename=" + strFileName);改写为response.setHeader("Content-Disposition","inline; filename=" + strFileName);

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zjyong0123/archive/2007/03/30/1546759.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: