最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java、javascript實(shí)現(xiàn)附件下載示例

 更新時(shí)間:2014年08月14日 17:34:30   投稿:whsnow  
在web開發(fā)中,經(jīng)常需要開發(fā)“下載”這一模塊,下面使用java、javascript實(shí)現(xiàn)附件下載,需要的朋友可以參考下

在web開發(fā)中,經(jīng)常需要開發(fā)“下載”這一模塊,以下給出一個(gè)簡單的例子。

在服務(wù)器端,使用java開發(fā):

@RequestMapping(value = "download.html", method = RequestMethod.GET) 
public void download(String resourceid, HttpServletRequest request, HttpServletResponse response) { 
response.setContentType("charset=UTF-8"); 
File file = new File(path); 
response.setHeader("Content-Disposition", "attachment; filename=a"); 
BufferedInputStream bis = null; 
BufferedOutputStream bos = null; 
OutputStream fos = null; 
InputStream fis = null; 
try { 
fis = new FileInputStream(file.getAbsolutePath()); 
bis = new BufferedInputStream(fis); 
fos = response.getOutputStream(); 
bos = new BufferedOutputStream(fos); 
int bytesRead = 0; 
byte[] buffer = new byte[5 * 1024]; 
while ((bytesRead = bis.read(buffer)) != -1) { 
bos.write(buffer, 0, bytesRead); 
} 
bos.flush(); 
}catch(E e){ 
}finally { 
try { 
bis.close(); 
bos.close(); 
fos.close(); 
fis.close(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
} 
}

當(dāng)我們?cè)谇岸苏?qǐng)求這個(gè)地址時(shí),服務(wù)器先找出文件,設(shè)置響應(yīng)頭,然后通過流輸出到瀏覽器端。

瀏覽器在頭中發(fā)現(xiàn)該響應(yīng)的主體是流文件,則自動(dòng)會(huì)調(diào)用另存為的窗口,讓用戶保存下載。

這里有個(gè)關(guān)鍵就是Content-Disposition這個(gè)頭屬性,Content-Disposition是MIME協(xié)議的擴(kuò)展,用于指示如何讓客戶端顯示附件的文件。

它可以設(shè)置為兩個(gè)值:

inline //在線打開

attachment //作為附件下載

這里我們?cè)O(shè)置的值為attachment,所以可以被識(shí)別為附件并下載。

上面講了如何寫服務(wù)器端,下面講前端如何請(qǐng)求。

前端請(qǐng)求有三種方式:

1.Form

<form action='download.html' method='post'> 
<input type='submit'/> 
</form>

2.iframe

var iframe = "<iframe style='display:none' src='download.html'></iframe>" 
body.append(iframe);

​當(dāng)iframe被append到body中時(shí),會(huì)自動(dòng)請(qǐng)求下載鏈接。

3.open

window.open("download.html");

相關(guān)文章

最新評(píng)論

青铜峡市| 武汉市| 金湖县| 綦江县| 天等县| 金湖县| 祥云县| 鹤峰县| 阜新| 汕尾市| 榕江县| 石楼县| 双辽市| 太仓市| 秦皇岛市| 江安县| 南投市| 凤凰县| 永福县| 随州市| 尉犁县| 搜索| 磐安县| 鸡泽县| 新田县| 扬州市| 政和县| 若尔盖县| 吴忠市| 晋江市| 蒲江县| 卢氏县| 谢通门县| 东莞市| 浑源县| 昌邑市| 东城区| 凌海市| 天台县| 乌鲁木齐县| 宜州市|