package org.dromara.demo.controller;
|
|
import org.dromara.demo.domain.MinioResult;
|
import org.dromara.demo.domain.dto.FileDTO;
|
import org.dromara.demo.domain.dto.MinioVideoResult;
|
import org.dromara.demo.domain.dto.Result;
|
import org.dromara.demo.util.MinioUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.Objects;
|
|
/**
|
* @author Satori
|
* @date 2021/10/15
|
*/
|
@RestController
|
@RequestMapping("/api/v1/file")
|
public class FileController {
|
|
@Autowired
|
private MinioUtil client;
|
|
@PostMapping("/upload/image")
|
public Result upload(MultipartFile file) {
|
MinioResult result = client.uploadFile(file, "image");
|
return Result.success(result);
|
}
|
|
@PostMapping("/upload/document")
|
public Result publicUpload(MultipartFile file, FileDTO fileDTO) {
|
MinioResult result = client.uploadFile(file, "document");
|
if (Objects.nonNull(fileDTO.getFileContentType())) {
|
result.setFileContentType(fileDTO.getFileContentType());
|
}
|
return Result.success(result);
|
}
|
|
@PostMapping("/upload/video")
|
public Result videoUpload(MultipartFile file) {
|
MinioVideoResult minioVideoResult = new MinioVideoResult();
|
MinioResult result = client.uploadFile(file, "video");
|
minioVideoResult.setVideoUrl(result.getUrl());
|
minioVideoResult.setRealName(file.getOriginalFilename());
|
return Result.success(minioVideoResult);
|
}
|
}
|