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]