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

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

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

瀏覽:33日期: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 所以需要轉換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 轉換成了圖片//往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格式轉換、跨域等諸多問題 ,需要讀者酌情處理。

標簽: Ajax
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久尤物视频| 欧美精品国产一区| 中文在线免费视频| 欧美国产三级| 国产精品porn| 久久精品免费看| 国产一区二区三区探花| 久久久久久一区二区| 丝袜美腿一区| 亚洲精品网址| 亚洲天堂免费| 国产日韩精品视频一区二区三区| 欧美日韩亚洲一区| 国产精品115| 高清av不卡| 夜夜精品视频| 91成人精品在线| 久久久久伊人| 日韩精品中文字幕第1页| 日韩精品网站| 喷白浆一区二区| 国产日韩欧美一区在线| 国产成人免费视频网站视频社区| 久久精品免费一区二区三区| 国产精品毛片在线看| 日韩一区精品| 久久久国产精品网站| 国产亚洲一区二区手机在线观看| 欧美精品激情| 国产日韩免费| 色吊丝一区二区| 一区二区国产在线| 久久一区精品| 欧美日韩国产亚洲一区| 视频一区视频二区中文字幕| 69堂精品视频在线播放| 91精品国产调教在线观看| 亚洲精品极品| 激情久久五月| 97精品国产| 国产精品99视频| 不卡专区在线| 久久国产毛片| 激情欧美国产欧美| 久久高清免费| 亚洲国产成人精品女人| 国产精品蜜芽在线观看| 亚洲综合欧美| 国产亚洲久久| 2023国产精品久久久精品双| 国产精品久久久亚洲一区| 日本不卡高清| 亚洲一本视频| 日韩福利视频一区| 国产中文在线播放| 日韩中文字幕1| 久久精品国产福利| 狠狠爱成人网| 美女久久久久久 | 欧美激情日韩| 免费在线欧美黄色| 亚洲三级网址| 久久精品免费一区二区三区 | 精品深夜福利视频| 国产亚洲毛片| 精品中文字幕一区二区三区 | 欧美亚洲在线日韩| 欧美日韩一区二区三区在线电影| 99精品在线观看| 国产欧美精品久久| 亚洲一区二区三区高清| 91欧美在线| 日韩激情一区二区| 欧美~级网站不卡| 国产精品久久久久久久免费观看| 91精品国产自产观看在线 | 欧美黑人做爰爽爽爽| 狠狠干成人综合网| 韩日一区二区| 日韩手机在线| 香蕉久久夜色精品国产| 人人香蕉久久| 国产一区丝袜| 国产精品毛片视频| 日欧美一区二区| 黄色av一区| 91精品国产自产在线观看永久∴| 精品三级国产| 卡一精品卡二卡三网站乱码| 婷婷精品在线| 国产精品视区| 激情综合自拍| 91欧美在线| 国产精品成人3p一区二区三区| 亚洲三区欧美一区国产二区| 亚洲一区激情| 欧美特黄a级高清免费大片a级| 国产精品地址| 国产不卡精品| 91精品丝袜国产高跟在线| 欧美日韩在线网站| 香蕉人人精品| 999久久久91| 欧美久久精品一级c片| 欧美国产偷国产精品三区| 国产乱码精品一区二区三区亚洲人| 亚洲ww精品| 性欧美长视频| 男女精品网站| 国产日韩一区| 国产精品亲子伦av一区二区三区 | 中文字幕亚洲影视| 蜜桃视频欧美| 国产一区日韩一区| 久久国产精品毛片| 日韩av在线中文字幕| 久久午夜视频| 男人天堂欧美日韩| 中文一区在线| 久久精品国产亚洲夜色av网站| 国产成人精品一区二区免费看京 | 欧美日一区二区| 欧美午夜精彩| 日韩综合精品| 手机精品视频在线观看| 免费成人在线观看| 蜜臀av一区二区在线免费观看| 亚洲性视频h| 日韩av字幕| 国产精品亚洲四区在线观看| 精品91福利视频| 日韩一区二区三区在线看| 日韩中出av| 久久久国产精品网站| 久久亚洲国产| 日韩高清电影免费| 日韩欧美不卡| 日韩精品免费一区二区夜夜嗨| 精品国产亚洲日本| 美女精品在线| 日韩欧美精品一区| 日韩精品电影| 午夜天堂精品久久久久| 蜜桃精品在线| 最新国产精品视频| 麻豆国产在线| 日韩在线不卡| 日韩av首页| 麻豆精品蜜桃视频网站| 精品亚洲成人| 日韩成人亚洲| 性色一区二区| 日韩在线观看中文字幕| 国产精品密蕾丝视频下载| 国产一区二区三区亚洲| 欧美亚洲国产一区| 亚洲一区二区三区无吗| 国产日本精品| 天堂中文在线播放| 欧美特黄一区| 7m精品国产导航在线| 国产精品分类| 久久精品影视| 亚洲精品美女91| 精品国产成人| 99国产一区| 国产精品一区二区三区av麻| 日韩高清欧美| 蜜桃av一区二区在线观看| 国产精品一区二区三区美女| 精精国产xxxx视频在线野外| 亚洲一级大片| 精品久久久网| 国产午夜精品一区二区三区欧美| 国产亚洲一区二区三区啪| 丝袜美腿一区| 亚洲字幕久久| 福利一区视频| 伊人久久亚洲| 国产999精品在线观看| 亚洲免费网址| 国产在线日韩精品| 亚洲一二三区视频| 国产精品蜜芽在线观看| 亚洲无线观看| 日本不良网站在线观看| 亚洲1区在线观看| 久久婷婷亚洲| 免费在线日韩av| 99国产精品视频免费观看一公开| 久久99蜜桃| 亚洲专区在线| 亚洲黄色网址| 久久精品97| 久久亚洲视频| 色天使综合视频| 国产福利一区二区精品秒拍| 欧美综合二区| 日韩av福利| 国产精品免费不|