国产探花免费观看_亚洲丰满少妇自慰呻吟_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");

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永仁县| 长沙县| 威信县| 佳木斯市| 昌黎县| 休宁县| 东城区| 门源| 莆田市| 宁晋县| 泸水县| 霞浦县| 册亨县| 汾西县| 三门县| 中方县| 沙坪坝区| 凤山市| 晋州市| 阿瓦提县| 界首市| 盐源县| 射洪县| 石首市| 光泽县| 报价| 天镇县| 无极县| 石棉县| 隆子县| 深州市| 溆浦县| 郓城县| 天峻县| 隆化县| 满城县| 会宁县| 本溪| 泰宁县| 岑巩县| 宣化县|