国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

java、javascript實現附件下載示例

2019-11-20 14:16:20
字體:
來源:轉載
供稿:網友

在web開發中,經常需要開發“下載”這一模塊,以下給出一個簡單的例子。

在服務器端,使用java開發:

@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(); } } }

當我們在前端請求這個地址時,服務器先找出文件,設置響應頭,然后通過流輸出到瀏覽器端。

瀏覽器在頭中發現該響應的主體是流文件,則自動會調用另存為的窗口,讓用戶保存下載。

這里有個關鍵就是Content-Disposition這個頭屬性,Content-Disposition是MIME協議的擴展,用于指示如何讓客戶端顯示附件的文件。

它可以設置為兩個值:

inline //在線打開

attachment //作為附件下載

這里我們設置的值為attachment,所以可以被識別為附件并下載。

上面講了如何寫服務器端,下面講前端如何請求。

前端請求有三種方式:

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);

​當iframe被append到body中時,會自動請求下載鏈接。

3.open

window.open("download.html");

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大丰市| 江源县| 连平县| 东乌珠穆沁旗| 贺州市| 安图县| 临邑县| 博罗县| 商水县| 白城市| 罗田县| 会同县| 东乌珠穆沁旗| 武汉市| 静海县| 包头市| 时尚| 凤台县| 泸溪县| 五原县| 丘北县| 福州市| 南投县| 沁阳市| 称多县| 霞浦县| 商水县| 文成县| 岢岚县| 巨鹿县| 会泽县| 扶绥县| 石林| 个旧市| 金湖县| 恩平市| 双峰县| 新闻| 三台县| 鞍山市| 阳山县|