1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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);
    }
}