Kaynağa Gözat

fix 修复跨域访问无权限获取请求头 download-filename 导致文件名为空问题

疯狂的狮子li 3 yıl önce
ebeveyn
işleme
b8a8b76c38

+ 0 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java

@@ -98,8 +98,6 @@ public class SysOssController extends BaseController {
             throw new ServiceException("文件数据不存在!");
         }
         response.reset();
-        response.addHeader("Access-Control-Allow-Origin", "*");
-        response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
         FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName());
         response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8");
         long data;

+ 3 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java

@@ -22,6 +22,9 @@ public class FileUtils extends FileUtil {
      * @return
      */
     public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException {
+        response.addHeader("Access-Control-Allow-Origin", "*");
+        response.addHeader("Access-Control-Expose-Headers", "Content-Disposition,download-filename");
+
         String percentEncodedFileName = percentEncode(realFileName);
 
         StringBuilder contentDispositionValue = new StringBuilder();

+ 0 - 2
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java

@@ -42,8 +42,6 @@ public class ExcelUtil {
 		try {
 			String filename = encodingFilename(sheetName);
 			response.reset();
-			response.addHeader("Access-Control-Allow-Origin", "*");
-			response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
 			FileUtils.setAttachmentResponseHeader(response, filename);
 			response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8");
 			ServletOutputStream os = response.getOutputStream();