亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue實(shí)現(xiàn)下載文件流完整前后端代碼

 更新時(shí)間:2020年11月17日 14:56:51   作者:小狐貍和小兔子  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)下載文件流完整前后端代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

使用Vue時(shí),我們前端如何處理后端返回的文件流

首先后端返回流,這里我把流的動(dòng)作拿出來了,我很多地方要用

/**
 * 下載單個(gè)文件
 *
 * @param docId
 */
 @GetMapping("/download/{docId}")
 public void download(@PathVariable("docId") String docId,
       HttpServletResponse response) {
  outWrite(response, docId);
 }
 
 /**
 * 輸出文件流
 * @param response
 * @param docId
 */
 private void outWrite(HttpServletResponse response, String docId) {
  ServletOutputStream out = null;
  try {
   out = response.getOutputStream();
   // 禁止圖像緩存。
   response.setHeader("Pragma", "no-cache");
   response.setHeader("Cache-Control", "no-cache");
   response.setDateHeader("Expires", 0);
   byte[] bytes = docService.downloadFileSingle(docId);
   if (bytes != null) {
    MagicMatch match = Magic.getMagicMatch(bytes);
    String mimeType = match.getMimeType();
    response.setContentType(mimeType);
    out.write(bytes);
   }
   out.flush();
  } catch (Exception e) {
   UnitedLogger.error(e);
  } finally {
   IOUtils.closeQuietly(out);
  }
 }

前端這里我引入了一個(gè)組件 js-file-download

npm install js-file-download --save

然后在Vue文件中添加進(jìn)來

import fileDownload from "js-file-download";

 // 文檔操作列對(duì)應(yīng)事件
 async handleCommand(item, data) {
  switch (item.key) {
  case "download":
   var res = await this.download(data);
   return fileDownload(res, data.name);
  ...
  default:
  }
  // 刷新當(dāng)前層級(jí)的列表
  const folder = this.getLastFolderPath();
  this.listClick(folder.folderId, folder.name);
 },
 // 下載
 async download(row) {
  if (this.isFolder(row.type)) {
  return FolderAPI.download(row.id);
  } else {
  return DocAPI.download(row.id);
  }
 },

docAPI js 注意需要設(shè)置responseType

/**
 * 下載單個(gè)文件
 * @param {*} id
 */
const download = (id) => {
 return request({
 url: _DataAPI.download + id,
 method: "GET",
 responseType: 'blob'
 });
};

這樣即可成功下載。

關(guān)于vue.js的學(xué)習(xí)教程,請(qǐng)大家點(diǎn)擊專題vue.js組件學(xué)習(xí)教程Vue.js前端組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue列表渲染v-for的使用案例詳解

    Vue列表渲染v-for的使用案例詳解

    這篇文章主要介紹了Vue列表渲染(v-for的使用),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Vue3造輪子之打包構(gòu)建配置二級(jí)目錄方式

    Vue3造輪子之打包構(gòu)建配置二級(jí)目錄方式

    這篇文章主要介紹了Vue3造輪子之打包構(gòu)建配置二級(jí)目錄方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue3實(shí)現(xiàn)多條件搜索功能的示例代碼

    vue3實(shí)現(xiàn)多條件搜索功能的示例代碼

    搜索功能在后臺(tái)管理頁(yè)面中非常常見,這篇文章就著重講一下vue3-admin-element框架中如何實(shí)現(xiàn)一個(gè)頂部多條件搜索功能,感興趣的小伙伴可以了解一下
    2023-08-08
  • 利用Vue.js實(shí)現(xiàn)checkbox的全選反選效果

    利用Vue.js實(shí)現(xiàn)checkbox的全選反選效果

    最近用vue做了兩個(gè)項(xiàng)目,都需要實(shí)現(xiàn)全選反選的功能,所以想著記錄下分享給大家,方便自己或者有需要的朋友們參考講學(xué)習(xí),所以下面這篇文章主要介紹了利用Vue.js實(shí)現(xiàn)checkbox的全選反選效果,需要的朋友可以一起來學(xué)習(xí)學(xué)習(xí)。
    2017-01-01
  • 解讀vant的Uploader上傳問題

    解讀vant的Uploader上傳問題

    這篇文章主要介紹了解讀vant的Uploader上傳問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue父子組件通信的高級(jí)用法示例

    vue父子組件通信的高級(jí)用法示例

    這篇文章主要給大家介紹了關(guān)于vue父子組件通信的高級(jí)用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue實(shí)現(xiàn)后臺(tái)管理權(quán)限系統(tǒng)及頂欄三級(jí)菜單顯示功能

    vue實(shí)現(xiàn)后臺(tái)管理權(quán)限系統(tǒng)及頂欄三級(jí)菜單顯示功能

    這篇文章主要介紹了vue實(shí)現(xiàn)后臺(tái)管理權(quán)限系統(tǒng)及頂欄三級(jí)菜單顯示功能,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • 談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系

    談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系

    本篇文章主要介紹了談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • vue?雙向綁定問題$emit無效的解決

    vue?雙向綁定問題$emit無效的解決

    這篇文章主要介紹了vue?雙向綁定問題$emit無效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解vue 組件的實(shí)現(xiàn)原理

    詳解vue 組件的實(shí)現(xiàn)原理

    這篇文章主要介紹了詳解vue 組件的實(shí)現(xiàn)原理,幫助大家更好的理解和學(xué)習(xí)vue框架,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論