diff --git a/WebRoot/Excel/06856ad1-50e0-4078-af05-b9ac27f27f4f.pdf b/WebRoot/Excel/06856ad1-50e0-4078-af05-b9ac27f27f4f.pdf index 628397e3..cfa7ee91 100644 Binary files a/WebRoot/Excel/06856ad1-50e0-4078-af05-b9ac27f27f4f.pdf and b/WebRoot/Excel/06856ad1-50e0-4078-af05-b9ac27f27f4f.pdf differ diff --git a/WebRoot/Excel/18d13893-cd3c-4fc7-94cf-0812bdf1e25b.xlsx b/WebRoot/Excel/18d13893-cd3c-4fc7-94cf-0812bdf1e25b.xlsx new file mode 100644 index 00000000..4659b908 Binary files /dev/null and b/WebRoot/Excel/18d13893-cd3c-4fc7-94cf-0812bdf1e25b.xlsx differ diff --git a/WebRoot/Excel/b712e11b-8449-4d2c-a4c2-c624b5a4810e.pdf b/WebRoot/Excel/b712e11b-8449-4d2c-a4c2-c624b5a4810e.pdf index a928294b..dfa099de 100644 Binary files a/WebRoot/Excel/b712e11b-8449-4d2c-a4c2-c624b5a4810e.pdf and b/WebRoot/Excel/b712e11b-8449-4d2c-a4c2-c624b5a4810e.pdf differ diff --git a/WebRoot/Excel/fe024e86-8d8c-4944-9c8c-8bcc4ce1475e.xlsx b/WebRoot/Excel/fe024e86-8d8c-4944-9c8c-8bcc4ce1475e.xlsx new file mode 100644 index 00000000..4659b908 Binary files /dev/null and b/WebRoot/Excel/fe024e86-8d8c-4944-9c8c-8bcc4ce1475e.xlsx differ diff --git a/src/main/java/com/dsideal/QingLong/Collect/Controller/CollectController.java b/src/main/java/com/dsideal/QingLong/Collect/Controller/CollectController.java index 2efb06c4..18fa450c 100644 --- a/src/main/java/com/dsideal/QingLong/Collect/Controller/CollectController.java +++ b/src/main/java/com/dsideal/QingLong/Collect/Controller/CollectController.java @@ -29,10 +29,7 @@ import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import javax.servlet.http.HttpServletResponse; import java.io.*; -import java.net.URISyntaxException; -import java.net.URL; import java.text.ParseException; import java.util.*; @@ -831,23 +828,18 @@ public class CollectController extends Controller { if (type_id == 2) { String pdfPath = excelPath.replace(".xlsx", ".pdf"); AsposeUtil.xls2pdf(excelPath, pdfPath); - HttpServletResponse response = getResponse(); - BufferedInputStream br = new BufferedInputStream(new FileInputStream(pdfPath)); - byte[] buf = new byte[1024]; - int len; - response.reset(); // 非常重要 - URL u = new URL("file:///" + pdfPath); - response.setContentType(u.openConnection().getContentType()); - String fileName = pdf_filename; - response.setHeader("Content-Disposition", "inline; filename=" + fileName); - OutputStream out = response.getOutputStream(); - while ((len = br.read(buf)) > 0) out.write(buf, 0, len); - br.close(); - out.close(); + /** + * 解决java.io.IOException: UT010029: Stream is closed报错 + * 由于HttpServlet的request和response里的流都只能读写一次,关掉就没有了, 所以不能使用该方法 + */ + OutputStream outputStream = getResponse().getOutputStream(); + outputStream.write(FileUtil.readBytes(pdfPath)); + outputStream.flush(); renderNull(); } } + /** * 功能:学校(单位)查看我该填报或者我已填报的任务列表 * diff --git a/src/main/java/com/dsideal/QingLong/Util/CommonUtil.java b/src/main/java/com/dsideal/QingLong/Util/CommonUtil.java index eb778c19..686f20ef 100644 --- a/src/main/java/com/dsideal/QingLong/Util/CommonUtil.java +++ b/src/main/java/com/dsideal/QingLong/Util/CommonUtil.java @@ -22,7 +22,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.LocalDateTime; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern;