package com.ruoyi.basic.controller;
|
|
import com.ruoyi.basic.dto.StorageBlobVO;
|
import com.ruoyi.basic.service.StorageBlobService;
|
import com.ruoyi.framework.web.domain.R;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@RestController
|
@RequiredArgsConstructor
|
@Tag(name = "文件上传")
|
@RequestMapping("/file")
|
public class FileUploadController {
|
|
private final StorageBlobService storageBlobService;
|
|
@PostMapping("/upload")
|
@Operation(summary = "文件上传")
|
public R upload(@RequestParam("file") List<MultipartFile> file) {
|
List<StorageBlobVO> result = storageBlobService.upload(file, false);
|
if (result == null || result.isEmpty()) {
|
return R.fail("上传失败");
|
}
|
StorageBlobVO vo = result.get(0);
|
Map<String, Object> data = new HashMap<>();
|
data.put("id", vo.getId());
|
data.put("originalName", vo.getOriginalFilename());
|
data.put("tempPath", vo.getPreviewURL());
|
data.put("uidFilename", vo.getUidFilename());
|
data.put("contentType", vo.getContentType());
|
data.put("byteSize", vo.getByteSize());
|
return R.ok(data);
|
}
|
}
|