Ajm*_*sha 4 java spring-boot java-stream
在我的文件下载 API 案例中,出现这样的错误。
org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:380)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:420)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:345)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:405)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:393)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96)
at org.springframework.util.StreamUtils.copy(StreamUtils.java:128)
at org.springframework.util.FileCopyUtils.copy(FileCopyUtils.java:109)
at
Run Code Online (Sandbox Code Playgroud)
我注意到该错误仅在尝试下载名称包含逗号 (,) 的文件时发生,否则它可以正常工作。
在我的 API 中,我设置了这样的响应:
response.setContentType("application/octet-stream");
response.setHeader(Constants.CONTENT_DISPOSITION, "attachment; filename= " + fileSeedName);
System.out.println(file.exists());
FileCopyUtils.copy(new BufferedInputStream(new FileInputStream(file)), response.getOutputStream());
response.flushBuffer();
Run Code Online (Sandbox Code Playgroud)
谁能帮帮我吗。
小智 11
文件名需要双引号才能工作
header('Content-Disposition:attachment;filename="' . $fileName . '.pdf"');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6549 次 |
最近记录: |