|
@@ -1,96 +0,0 @@
|
|
|
-package com.tofly.controller;
|
|
|
-
|
|
|
-import com.tofly.client.MinioFileClient;
|
|
|
-import com.tofly.client.MinioFileUploadClient;
|
|
|
-import com.tofly.common.core.result.ResultData;
|
|
|
-import com.tofly.vo.FileInfo;
|
|
|
-import com.tofly.vo.FileUploadResponse;
|
|
|
-import feign.Response;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.http.HttpHeaders;
|
|
|
-import org.springframework.http.MediaType;
|
|
|
-import org.springframework.http.ResponseEntity;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
-import org.springframework.web.multipart.MultipartFile;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.IOException;
|
|
|
-import java.io.InputStream;
|
|
|
-import java.io.OutputStream;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
-
|
|
|
-@RestController
|
|
|
-@RequestMapping("testupload")
|
|
|
-public class TestController {
|
|
|
-@Autowired
|
|
|
-private MinioFileClient minioFileClient;
|
|
|
-
|
|
|
- @RequestMapping("/getFile")
|
|
|
- public ResultData test2(){
|
|
|
- final FileInfo byFileId = minioFileClient.getByFileId("1");
|
|
|
- return new ResultData().ok(byFileId);
|
|
|
- }
|
|
|
- @PostMapping("/uploadFile")
|
|
|
- public ResultData test3(@RequestPart("file") MultipartFile file){
|
|
|
- final FileUploadResponse test = minioFileClient.uploadFile(file);
|
|
|
- return new ResultData().ok(test);
|
|
|
- }
|
|
|
- @PostMapping("/uploadZip")
|
|
|
- public ResultData testuploadzip(@RequestPart("file") MultipartFile file){
|
|
|
- final ResponseEntity<List<FileInfo>> listResponseEntity = minioFileClient.uploadZip( file);
|
|
|
- return new ResultData().ok(listResponseEntity.getBody());
|
|
|
- }
|
|
|
-
|
|
|
- @GetMapping("/downZip")
|
|
|
- public void testDownloadzip(String[] fileNames, HttpServletResponse response){
|
|
|
- final ResponseEntity<byte[]> responseEntity = minioFileClient.downloadZip(fileNames);
|
|
|
- final byte[] zipContent = responseEntity.getBody();
|
|
|
-
|
|
|
- if (zipContent != null) {
|
|
|
- response.setStatus(HttpServletResponse.SC_OK);
|
|
|
- response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=downloaded_files.zip");
|
|
|
- response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
|
|
- response.setContentLength(zipContent.length);
|
|
|
- try {
|
|
|
- response.getOutputStream().write(zipContent);
|
|
|
- response.getOutputStream().flush();
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
|
|
- }
|
|
|
- } else {
|
|
|
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @GetMapping("/getFileInfo")
|
|
|
- public ResultData test3(String fileName){
|
|
|
- final FileInfo fileInfo = minioFileClient.getFileInfo(fileName);
|
|
|
-
|
|
|
- return new ResultData().ok(fileInfo);
|
|
|
- }
|
|
|
-
|
|
|
- @GetMapping("/download")
|
|
|
- public void test3(String fileName, HttpServletResponse response){
|
|
|
- Response feignResponse = minioFileClient.download(fileName);
|
|
|
-
|
|
|
- response.setContentType("application/octet-stream");
|
|
|
- response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
|
|
|
-
|
|
|
- try (InputStream inputStream = feignResponse.body().asInputStream();
|
|
|
- OutputStream outputStream = response.getOutputStream()) {
|
|
|
-
|
|
|
- byte[] buffer = new byte[8192];
|
|
|
- int bytesRead;
|
|
|
-
|
|
|
- while ((bytesRead = inputStream.read(buffer)) != -1) {
|
|
|
- outputStream.write(buffer, 0, bytesRead);
|
|
|
- }
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-}
|