|
@@ -263,45 +263,63 @@ public class KnowledgeFileServiceImpl implements KnowledgeFileService {
|
|
|
}
|
|
|
@Override
|
|
|
public void downloadTemplate(HttpServletResponse response) {
|
|
|
- String fileUrl = "http://127.0.0.1:52883/browser/mbb/%E6%A8%A1%E6%9D%BF.doc";
|
|
|
- try {
|
|
|
- URL url = new URL(fileUrl);
|
|
|
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
|
|
|
- int responseCode = httpConn.getResponseCode();
|
|
|
-
|
|
|
- // 检查响应码是否为HTTP_OK
|
|
|
- if (responseCode == HttpURLConnection.HTTP_OK) {
|
|
|
- InputStream inputStream = httpConn.getInputStream();
|
|
|
- String disposition = httpConn.getHeaderField("Content-Disposition");
|
|
|
- String fileName = "模板.doc"; // 默认文件名
|
|
|
-
|
|
|
- if (disposition != null) {
|
|
|
- int index = disposition.indexOf("filename=");
|
|
|
- if (index > 0) {
|
|
|
- fileName = disposition.substring(index + 9);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 设置响应头
|
|
|
- response.setContentType("application/octet-stream");
|
|
|
- response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\"");
|
|
|
-
|
|
|
- OutputStream outputStream = response.getOutputStream();
|
|
|
-
|
|
|
- byte[] buffer = new byte[4096];
|
|
|
- int bytesRead;
|
|
|
- while ((bytesRead = inputStream.read(buffer)) != -1) {
|
|
|
- outputStream.write(buffer, 0, bytesRead);
|
|
|
- }
|
|
|
+// String fileUrl = "http://127.0.0.1:52883/browser/mbb/%E6%A8%A1%E6%9D%BF.doc";
|
|
|
+// try {
|
|
|
+// URL url = new URL(fileUrl);
|
|
|
+// HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
|
|
|
+// int responseCode = httpConn.getResponseCode();
|
|
|
+//
|
|
|
+// // 检查响应码是否为HTTP_OK
|
|
|
+// if (responseCode == HttpURLConnection.HTTP_OK) {
|
|
|
+// InputStream inputStream = httpConn.getInputStream();
|
|
|
+// String disposition = httpConn.getHeaderField("Content-Disposition");
|
|
|
+// String fileName = "模板.doc"; // 默认文件名
|
|
|
+//
|
|
|
+// if (disposition != null) {
|
|
|
+// int index = disposition.indexOf("filename=");
|
|
|
+// if (index > 0) {
|
|
|
+// fileName = disposition.substring(index + 9);
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 设置响应头
|
|
|
+// response.setContentType("application/octet-stream");
|
|
|
+// response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\"");
|
|
|
+//
|
|
|
+// OutputStream outputStream = response.getOutputStream();
|
|
|
+//
|
|
|
+// byte[] buffer = new byte[4096];
|
|
|
+// int bytesRead;
|
|
|
+// while ((bytesRead = inputStream.read(buffer)) != -1) {
|
|
|
+// outputStream.write(buffer, 0, bytesRead);
|
|
|
+// }
|
|
|
+//
|
|
|
+// outputStream.flush();
|
|
|
+// inputStream.close();
|
|
|
+// outputStream.close();
|
|
|
+// } else {
|
|
|
+// throw new RuntimeException("文件下载失败,服务器响应代码: " + responseCode);
|
|
|
+// }
|
|
|
+// } catch (Exception e) {
|
|
|
+// throw new RuntimeException("文件下载过程中发生错误: " + e.getMessage(), e);
|
|
|
+// }
|
|
|
+
|
|
|
+ try (InputStream inputStream = minioUtil.downLoad("mbb", "/模板.doc");
|
|
|
+ OutputStream outputStream = response.getOutputStream()) {
|
|
|
|
|
|
- outputStream.flush();
|
|
|
- inputStream.close();
|
|
|
- outputStream.close();
|
|
|
- } else {
|
|
|
- throw new RuntimeException("文件下载失败,服务器响应代码: " + responseCode);
|
|
|
+ response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
|
|
+ response.setHeader(
|
|
|
+ HttpHeaders.CONTENT_DISPOSITION,
|
|
|
+ "attachment; filename=" + URLEncoder.encode("/模板.doc", "UTF-8")
|
|
|
+ );
|
|
|
+ byte[] buffer = new byte[1024];
|
|
|
+ int bytesRead;
|
|
|
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
|
|
|
+ outputStream.write(buffer, 0, bytesRead);
|
|
|
}
|
|
|
+ outputStream.flush();
|
|
|
} catch (Exception e) {
|
|
|
- throw new RuntimeException("文件下载过程中发生错误: " + e.getMessage(), e);
|
|
|
+ throw new RuntimeException("文件下载失败: " + e.getMessage(), e);
|
|
|
}
|
|
|
}
|
|
|
}
|