yy_hards 发表于 2013-1-15 02:47:52

java文件下载

方法1:
package tutorial;      import java.io.BufferedInputStream;    import java.io.File;    import java.io.FileInputStream;    import java.io.OutputStream;      import org.apache.struts2.ServletActionContext;      import com.opensymphony.xwork2.ActionSupport;      public class FileUploadAction extends ActionSupport{      private String fileName;    public String getFileName() {return fileName;}public void setFileName(String fileName) {this.fileName = fileName;}      private static void down(String filePath){try{          if (file.exists()) {BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));byte[] buffer = new byte;filePath=java.net.URLEncoder.encode(filePath, "UTF-8");// 处理中文文件名的问题filePath=new String(filePath.getBytes("UTF-8"), "GBK"));// 处理中文文件名的问题response.reset();getResponse().setCharacterEncoding("UTF-8");response.setContentType("application/x-rar-compressed");// 不同类型的文件对应不同的MIME类型response.setHeader("Content-Disposition","attachment; filename=" + attachmentMO.getFileName());OutputStream os = response.getOutputStream();while (bis.read(buffer) > 0) {os.write(buffer);}bis.close();os.close();} else {System.out.println("文件不存在.");}    }       }catch(Exception e){      e.printStackTrace();   }            @Override       public String execute()      {                                 down(fileName);         return SUCCESS;       }         }   

方法2:
直接将页面中的链接指向所要下载资源的路径,如图
http://dl.iteye.com/upload/attachment/166663/e6b1b4af-9839-3118-af9c-c459726ce6a9.jpg
页: [1]
查看完整版本: java文件下载