xujunwei 1 rok temu
rodzic
commit
6bba84045a

+ 5 - 4
framework-boot/src/main/java/com/mrxu/framework/boot/web/BaseController.java

@@ -10,6 +10,7 @@ import com.mrxu.framework.common.util.BusinessException;
 import com.mrxu.framework.common.util.StrFunc;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -17,6 +18,7 @@ import javax.servlet.http.HttpSession;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URLEncoder;
+import java.nio.file.Files;
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
@@ -267,10 +269,9 @@ public class BaseController {
      */
     @SneakyThrows
     protected void downloadFile(HttpServletResponse response,String fileName) {
-        InputStream fis = Thread.currentThread().getContextClassLoader().getResourceAsStream("file/"+fileName);
-        byte[] fileByte = new byte[fis.available()];
-        fis.read(fileByte);
-        fis.close();
+        InputStream inputStream = this.getClass().getResourceAsStream("file/"+fileName);
+        byte[] fileByte = IOUtils.toByteArray(inputStream);;
+        // 文件转成字节数组
         // 设置response的Header
         response.setCharacterEncoding("UTF-8");
         // 指定下载文件名(attachment-以下载方式保存到本地,inline-在线预览)