|
|
@@ -30,9 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.IOException;
|
|
|
-import java.io.InputStream;
|
|
|
-import java.io.OutputStream;
|
|
|
+import java.io.*;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
@@ -87,17 +85,21 @@ public class CoreRegisterBookPdfServiceImpl extends ServiceImpl<CoreRegisterBook
|
|
|
InputStream inputStream = null;
|
|
|
OutputStream outputStream = null;
|
|
|
try {
|
|
|
+ //Feign远程调用获取文件流
|
|
|
Response result = fileService.registerBookCompressPdf(pdfDto);
|
|
|
Response.Body body = result.body();
|
|
|
inputStream = body.asInputStream();
|
|
|
- outputStream = response.getOutputStream();
|
|
|
+ BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
|
|
|
+ response.setHeader("Content-Disposition", result.headers().get("Content-Disposition").toString().replace("[", "").replace("]", ""));
|
|
|
+ BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(response.getOutputStream());
|
|
|
int length = 0;
|
|
|
byte[] temp = new byte[1024 * 10];
|
|
|
- while ((length = inputStream.read(temp)) != -1) {
|
|
|
- outputStream.write(temp, 0, length);
|
|
|
+ while ((length = bufferedInputStream.read(temp)) != -1) {
|
|
|
+ bufferedOutputStream.write(temp, 0, length);
|
|
|
}
|
|
|
- outputStream.flush();
|
|
|
- outputStream.close();
|
|
|
+ bufferedOutputStream.flush();
|
|
|
+ bufferedOutputStream.close();
|
|
|
+ bufferedInputStream.close();
|
|
|
inputStream.close();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|