| 
					
				 | 
			
			
				@@ -52,13 +52,26 @@ public class ApiController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation("文件预览") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping("/access/{fileId}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ResponseEntity<Object> access(@PathVariable(name = "fileId") String fileId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return down(fileId, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 文件下载 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param fileId fileId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiOperation("文件下载") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping("/download/{fileId}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResponseEntity<Object> download(@PathVariable(name = "fileId") String fileId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return down(fileId, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ResponseEntity<Object> down(String fileId, boolean down) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DocumentVO vo = mongoService.downloadFile(fileId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Objects.nonNull(vo)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return ResponseEntity.ok() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .header(HttpHeaders.CONTENT_DISPOSITION, "filename=\"" + UriEncoder.encode(vo.getFileName()) + "\"") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .header(HttpHeaders.CONTENT_TYPE, vo.getContentType()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .header(HttpHeaders.CONTENT_LENGTH, vo.getFileSize() + "").header("Connection", "close") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .body(vo.getData()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String disposition = down ? "attachment;" : "" + "filename=\"" + UriEncoder.encode(vo.getFileName()) + "\""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION, disposition).header(HttpHeaders.CONTENT_TYPE, vo.getContentType()).header(HttpHeaders.CONTENT_LENGTH, vo.getFileSize() + "").header("Connection", "close").body(vo.getData()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return ResponseEntity.status(HttpStatus.NOT_FOUND).body("file does not exist"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |