jquery ajax下載 檔案 思路
1. 因為 ajax 反回的資料是xml、text、json、html 等型別 而沒有 io (流) 所以不能直接下載
思路 是:
跳轉 到一個action 1 取到地址 跳轉的另一個 action 2 的地址把引數帶上 在action2 中查詢到這個檔案 來寫下載
頁面
$(function(){
$.ajax({
url:"TestServer",
type:"get",
success:function(date){
window.location.href=date;
}
})
});
action1 簡單例項 TestServer
PrintWriter out = response.getWriter();
out.write("Test1Server"); //簡單 這個就是action2 的路徑 反回去
out.flush();
action2
File file = new File("D:/test.txt");
FileInputStream in = new FileInputStream(file);
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition",
"attachment; filename=" +"test" + ".txt");
ServletOutputStream out = response.getOutputStream();
byte[] b = new byte[1024];
int s =0;
while((s=in.read(b))>0){
out.write(b);
}
out.flush();
in.close();
out.close();