疯狂的狮子Li
2021-09-27 49fc74be5d4c65d34d29237b05e26a1a0238715e
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java
@@ -3,6 +3,7 @@
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpException;
import cn.hutool.http.HttpUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.annotation.Log;
@@ -101,9 +102,18 @@
      response.reset();
      response.addHeader("Access-Control-Allow-Origin", "*");
      response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
      FileUtils.setAttachmentResponseHeader(response, URLEncoder.encode(sysOss.getOriginalName(), StandardCharsets.UTF_8.toString()));
      FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName());
      response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8");
      long data = HttpUtil.download(sysOss.getUrl(), response.getOutputStream(), false);
      long data;
      try {
         data = HttpUtil.download(sysOss.getUrl(), response.getOutputStream(), false);
      } catch (HttpException e) {
         if (e.getMessage().contains("403")) {
            throw new ServiceException("无读取权限, 请在对应的OSS开启'公有读'权限!");
         } else {
            throw new ServiceException(e.getMessage());
         }
      }
      response.setContentLength(Convert.toInt(data));
   }