mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-07 01:46:47 +08:00
Merge branch 'zcwy-0724' into dev0525
This commit is contained in:
@@ -369,7 +369,7 @@ public class CoursePortalApi extends ApiBaseController{
|
||||
}
|
||||
//作业导出
|
||||
@GetMapping("/export")
|
||||
public void export(String contentId,HttpServletResponse response) throws IOException {
|
||||
public void export(String contentId, String courseName,HttpServletResponse response) throws IOException {
|
||||
//将courseId以逗号分割转换为list
|
||||
List<String> contentIds = Arrays.asList(contentId.split(","));
|
||||
Map<String, String>map=new HashMap<>();
|
||||
@@ -393,17 +393,26 @@ public class CoursePortalApi extends ApiBaseController{
|
||||
if(course==null || course.getDeleted()){
|
||||
throw new RuntimeException("课程不存在或已被删除");
|
||||
}
|
||||
map.put(course.getName()+"--"+courseContent.getContentName()+extension, e.getFile());
|
||||
map.put(course.getName()+"--"+courseContent.getContentName()+extension, "/home/www/elearning/upload"+e.getFile());
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("导出异常");
|
||||
}
|
||||
|
||||
long totalCompressedSize = 0;
|
||||
String encodedFilename = URLEncoder.encode("作业.zip")
|
||||
String encodedFilename = URLEncoder.encode(courseName+"【作业】.zip")
|
||||
.replace("+", "%20") // 空格替换为"%20"
|
||||
.replace("%2F", "/"); // 解决斜杠问题
|
||||
StringBuilder contentDispositionValue = new StringBuilder();
|
||||
contentDispositionValue.append("attachment; filename=\"")
|
||||
.append(encodedFilename)
|
||||
.append("\"")
|
||||
.append("; filename*=utf-8''")
|
||||
.append(encodedFilename);
|
||||
|
||||
// 设置响应类型和Content-Disposition头
|
||||
response.setContentType("application/zip");
|
||||
response.setHeader("Content-Disposition", contentDispositionValue.toString());
|
||||
long totalCompressedSize = 0;
|
||||
try (ZipOutputStream zos = new ZipOutputStream(response.getOutputStream())) {
|
||||
for (Map.Entry<String, String> e : map.entrySet()) {
|
||||
File fileToZip = new File(e.getValue());
|
||||
@@ -429,16 +438,6 @@ public class CoursePortalApi extends ApiBaseController{
|
||||
|
||||
zos.closeEntry();
|
||||
}
|
||||
StringBuilder contentDispositionValue = new StringBuilder();
|
||||
contentDispositionValue.append("attachment; filename=")
|
||||
.append(encodedFilename)
|
||||
.append(";")
|
||||
.append("filename*=")
|
||||
.append("utf-8''")
|
||||
.append(encodedFilename);
|
||||
// 设置响应类型和Content-Disposition头
|
||||
response.setContentType("application/zip");
|
||||
response.setHeader("Content-Disposition", contentDispositionValue.toString());
|
||||
}
|
||||
}
|
||||
@GetMapping("/detail-study")
|
||||
|
||||
Reference in New Issue
Block a user