日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

前端ajax請求+后端java實現(xiàn)的下載zip壓縮包功能示例

瀏覽:29日期:2022-06-14 13:43:26
ajax請求 下載zip壓縮包

后臺最主要是 response.setContentType(“application/octet-stream”);以及 response.addHeader(“Content-Disposition”, “attachment;fileName=” + URLEncoder.encode(“圖片.zip”, “UTF-8”));

一、后臺代碼@PostMapping('/downloadZip') public void downloadCerts(HttpServletRequest request, HttpServletResponse response, @RequestBody List<String> ids) throws UnsupportedEncodingException { //文件流octet-streamresponse.setContentType('application/octet-stream');response.setCharacterEncoding('utf-8');response.addHeader('Content-Disposition', 'attachment;fileName=' + URLEncoder.encode('圖片.zip', 'UTF-8'));try { ZipOutputStream resultStream = new ZipOutputStream(response.getOutputStream());// 這里是查詢數(shù)據(jù)庫 List<Map> result = service.downloadCerts(ids); byte[] buffer = new byte[10240]; for (Map map :result) { //因為數(shù)據(jù)庫保存的是圖片的base64 所以需要轉(zhuǎn)換BASE64Decoder decoder = new BASE64Decoder();File certFace = new File('temp.png');OutputStream out = new FileOutputStream(certFace);byte[] b = decoder.decodeBuffer(((String) map.get('certB64')).split(',')[1]);for (int i = 0; i <b.length ; i++) { if (b[i] <0) {b[i]+=256; }}out.write(b);out.flush();out.close();//到這里 base64 轉(zhuǎn)換成了圖片//往zip里面壓入第一個文件 本地文件resultStream.putNextEntry(new ZipEntry('本地圖片.png' ));InputStream stream = new FileInputStream(new File('temp.png'));int len;// 讀入需要下載的文件的內(nèi)容,打包到zip文件while ((len = stream.read(buffer)) > 0) { resultStream.write(buffer, 0, len);}resultStream.closeEntry();stream.close();resultStream.flush();//第一個文件壓入完成 關閉流 刷新一下緩沖區(qū)// 往zip里面壓入第二個文件 網(wǎng)絡文件 例:https://profile.csdnimg.cn/8/C/E/3_blogdevteamresultStream.putNextEntry(new ZipEntry('網(wǎng)絡圖片.png'));URL url = new URL('https://profile.csdnimg.cn/8/C/E/3_blogdevteam';);String str = url.toString();URLConnection connection = url.openConnection();InputStream backStream = connection.getInputStream();// 讀入需要下載的文件的內(nèi)容,打包到zip文件while ((len = backStream.read(buffer)) > 0) { resultStream.write(buffer, 0, len);}resultStream.closeEntry();backStream.close();resultStream.flush();//第二個文件壓入完成 關閉流 刷新一下緩沖區(qū) } resultStream.close(); //關閉流} catch (IOException e) { e.printStackTrace();} }二、前端代碼

前端代碼比較簡單 直接貼出 我使用的是vue的 axios

download(this.ids).then((response) =>{if (response.status == 200) { let url = window.URL.createObjectURL(new Blob([response.data])) let link= document.createElement('a') link.style.display='none' link.href=url link.setAttribute('download', '圖片.zip') // 自定義下載文件名(如exemple.txt) document.body.appendChild(link) link.click()}else{ this.$message.error('下載出錯了');}});

這里的 download(this.ids) 是封裝過的axios 重點是 then里的代碼

問題

如果你發(fā)現(xiàn)下載的文件比源文件大,很可能是前端請求需要加入以下代碼

responseType:'blob',

注意:筆者在測試過程中發(fā)現(xiàn)一些網(wǎng)站帶有防盜鏈功能,需要referer驗證。另外還可能會出現(xiàn)前端blob格式轉(zhuǎn)換、跨域等諸多問題 ,需要讀者酌情處理。

標簽: Ajax
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
97精品中文字幕| 视频一区国产视频| 国产欧美日韩一区二区三区四区 | 亚洲午夜在线| 亚洲免费网址| 青青草国产成人99久久| 国产精品亚洲欧美日韩一区在线| 麻豆精品一区二区综合av| 国产白浆在线免费观看| 99tv成人| 亚洲最大av| 国产精品一区2区3区| 国产美女高潮在线观看| 日韩视频精品在线观看| 蜜桃av一区二区| 青青草精品视频| 国产一区二区三区亚洲综合| 欧美+日本+国产+在线a∨观看| 亚洲欧美日本国产| 久久只有精品| 国产在线欧美| 欧美久久久网站| 日韩在线看片| 中文字幕亚洲精品乱码| 免费观看亚洲天堂| 欧美日韩高清| 国产日韩欧美中文在线| 日韩高清中文字幕一区二区| 蜜臀久久久久久久| 国产精品久久久一区二区| 日韩欧美少妇| 日韩福利视频一区| 日韩久久精品网| 日韩精品社区| 91精品国产调教在线观看| 日本免费新一区视频| 日韩成人亚洲| 国产毛片精品| 尹人成人综合网| 久久这里只有精品一区二区| 亚洲一区二区三区四区五区午夜| 久久精品国产网站| 9久re热视频在线精品| 美女精品视频在线| 鲁大师影院一区二区三区| 精品久久精品| 婷婷亚洲精品| 国产专区一区| 久久伊人国产| 亚洲18在线| 91精品精品| 美女av一区| 日本不卡一二三区黄网| 国产91精品对白在线播放| 欧美激情99| 婷婷综合成人| 亚洲精品123区| 成人免费网站www网站高清| 国产精品一区2区3区| 久久国产精品99国产| 日韩毛片视频| 久久一区亚洲| 青青在线精品| 视频一区中文字幕| 偷拍精品精品一区二区三区| 国产精品最新自拍| 亚洲综合色婷婷在线观看| 天堂资源在线亚洲| 国产精选在线| 美女视频免费精品| 日本特黄久久久高潮| 蜜臀久久99精品久久久久久9| 久久久天天操| 福利在线一区| 麻豆中文一区二区| 青青国产91久久久久久| 亚洲精品进入| 少妇精品久久久一区二区| 日韩精品一二区| 先锋影音久久久| 午夜视频精品| 亚洲精品网址| 香蕉久久国产| 爽好久久久欧美精品| 欧美日韩国产高清| 一区二区亚洲精品| 影音先锋久久| 亚洲一区二区动漫| 国产精品免费看| 欧美日韩国产亚洲一区| 国产一区二区三区自拍| 国产一区二区中文| 欧美日韩国产免费观看视频| 不卡中文字幕| 久热精品在线| 日本不卡在线视频| 国产情侣一区在线| 欧美黄色一区二区| 日产精品一区二区| 人人香蕉久久| 伊人影院久久| 综合亚洲视频| 国产日韩欧美一区在线| 国产激情欧美| 精品国产18久久久久久二百| 成人一区不卡| 国产伊人精品| 中文字幕一区二区三区四区久久 | 深夜视频一区二区| 99久久精品费精品国产| 亚洲激精日韩激精欧美精品| 日本大胆欧美人术艺术动态| 日本 国产 欧美色综合| 97精品资源在线观看| 欧美黑人巨大videos精品| 日本一区二区高清不卡| 天堂资源在线亚洲| 日韩制服丝袜av| 国产亚洲欧美日韩在线观看一区二区| 另类欧美日韩国产在线| 日韩av福利| 亚洲一区二区网站| 国产乱人伦丫前精品视频 | 亚洲精品91| 国产午夜精品一区二区三区欧美| 性色一区二区| 国产欧美日韩一级| 在线天堂中文资源最新版| 免费欧美一区| 日韩精品一区二区三区中文在线| 欧美1区二区| 国产韩日影视精品| 日韩毛片一区| 日韩欧美一区二区三区免费看| 婷婷激情综合| 欧美久久久网站| 久久久9色精品国产一区二区三区| 久久先锋影音| 国产精品66| 免费欧美一区| 国产欧美日韩精品一区二区免费| 夜鲁夜鲁夜鲁视频在线播放| 一二三区精品| 欧美好骚综合网| 中文精品电影| 91亚洲国产高清| 视频一区日韩| а√在线中文在线新版| 男女男精品视频网| 久久久久伊人| 国内精品麻豆美女在线播放视频| 国产精品白丝av嫩草影院| 精品亚洲美女网站| 国产一级久久| 精品国产亚洲日本| 另类国产ts人妖高潮视频| 麻豆一区二区在线| 久久福利影视| 日韩欧美中文| 日本综合视频| 亚洲二区在线| 美腿丝袜在线亚洲一区| 中文欧美日韩| 91日韩免费| 日韩高清不卡一区二区| 欧美日韩激情在线一区二区三区| 麻豆精品视频在线| 亚洲ab电影| 久久久精品网| 精品中文在线| 欧美一区成人| 日韩在线一区二区| 欧美一级精品| 中文字幕在线高清| 国产欧美久久一区二区三区| 亚洲专区在线| 久久亚洲专区| av中文资源在线资源免费观看| 欧美日本精品| 亚洲精品动态| 在线一区二区三区视频| 91九色精品| 欧美99久久| 黄色网一区二区| 免播放器亚洲一区| 精品一区毛片| 亚洲欧洲高清| 久久影院一区二区三区| 日本va欧美va欧美va精品| 香蕉久久久久久久av网站| 999国产精品999久久久久久| 久久久久久一区二区| 免费日韩一区二区三区| 91精品国产自产在线丝袜啪| 日韩专区一卡二卡| 婷婷亚洲综合| 国产综合亚洲精品一区二| 日韩一区欧美| 国产一区丝袜| 国语精品一区|