From bb6792423300edbc317fef63e0595563c9666b72 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 23 七月 2021 10:48:28 +0800
Subject: [PATCH] update OSS下载文件名改为后端传输

---
 ruoyi-ui/src/utils/ossdownload.js |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/ruoyi-ui/src/utils/ossdownload.js b/ruoyi-ui/src/utils/ossdownload.js
index e212ca8..0b9cf10 100644
--- a/ruoyi-ui/src/utils/ossdownload.js
+++ b/ruoyi-ui/src/utils/ossdownload.js
@@ -6,7 +6,7 @@
 }
 
 const baseUrl = process.env.VUE_APP_BASE_API
-export function downLoadOss(ossId, filename) {
+export function downLoadOss(ossId) {
   var url = baseUrl + '/system/oss/download/' + ossId
     axios({
     method: 'get',
@@ -14,7 +14,7 @@
     responseType: 'blob',
     headers: { 'Authorization': 'Bearer ' + getToken() }
   }).then(res => {
-    resolveBlob(res, mimeMap.oss, filename)
+    resolveBlob(res, mimeMap.oss)
   })
 }
 /**
@@ -22,11 +22,17 @@
  * @param {*} res blob鍝嶅簲鍐呭
  * @param {String} mimeType MIME绫诲瀷
  */
-export function resolveBlob(res, mimeType, filename) {
+export function resolveBlob(res, mimeType) {
   const aLink = document.createElement('a')
   var blob = new Blob([res.data], { type: mimeType })
+  // 浠巖esponse鐨刪eaders涓幏鍙杅ilename, 鍚庣response.setHeader("Content-disposition", "attachment; filename=xxxx.docx") 璁剧疆鐨勬枃浠跺悕;
+  var patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*')
+  var contentDisposition = decodeURI(res.headers['content-disposition'])
+  var result = patt.exec(contentDisposition)
+  var fileName = result[1]
+  fileName = fileName.replace(/\"/g, '')
   aLink.href = URL.createObjectURL(blob)
-  aLink.setAttribute('download', filename) // 璁剧疆涓嬭浇鏂囦欢鍚嶇О
+  aLink.setAttribute('download', decodeURI(fileName)) // 璁剧疆涓嬭浇鏂囦欢鍚嶇О
   document.body.appendChild(aLink)
   aLink.click()
   document.body.removeChild(aLink);

--
Gitblit v1.9.3