无关风月
2024-08-20 f237a61c412870933f47316a011237cd538de9bc
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package com.stylefeng.guns.modular.code.controller;
 
 
import com.stylefeng.guns.modular.system.util.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
 
import java.io.*;
 
@CrossOrigin
@RestController
@RequestMapping("/base/oss")
public class OssController {
 
    private static final String endpoint = "obs.cn-north-4.myhuaweicloud.com";
    private static final String accessKeyId = "DRJFJRVQ9KVLQUSJUROI";
    private static final String accessKeySecret = "3zpPkULh0a8CTTYjKL4f7szQZECkvVol4SwNab0f";
    private static final String bucketName = "jkjianshen";
 
    @PostMapping("/upload")
    @ApiOperation(value = "文件上传",tags = "文件上传")
    public String upload(@RequestParam("file") MultipartFile file) throws IOException {
        String s = ObsUploadUtil.obsUpload(file);
        return s;
    }
 
    @PostMapping("/uploadVideo")
    @ApiOperation(value = "视频上传",tags = "文件上传")
    public String uploadVideo(@RequestParam("file") MultipartFile file) throws Exception {
        // 获取文件名
        String fileName = file.getOriginalFilename();
        // 构建目标文件路径
        String filePath = "/usr/local/temp" + fileName;
//        String filePath = "C:/temp/" + fileName;
        // 创建目标文件对象
        File targetFile = new File(filePath);
        // 将 MultipartFile 内容写入目标文件
        try (FileOutputStream fos = new FileOutputStream(targetFile)) {
            fos.write(file.getBytes());
        }
        String s = UploadVideoUtil.endUpload(targetFile.toString(), UUIDUtil.getRandomCode(5)+fileName);
        // 创建要删除的文件对象
        File fileToDelete = new File(targetFile.toString());
        // 检查文件是否存在,并删除文件
        if (fileToDelete.exists()) {
            fileToDelete.delete();
        }
        return s;
    }
 
//    @PostMapping("/upload")
//    @ApiOperation(value = "文件上传",tags = "文件上传")
//    public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) throws IOException {
//        // 创建 OSSClient 实例
//        OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
//
//
//        // 创建 PutObjectRequest 对象
//        PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, file.getOriginalFilename(), file.getInputStream());
//
//        ObjectMetadata metadata = new ObjectMetadata();
//        // 取消文件缓存,文件每次都会从OSS服务器获取
//        metadata.setHeader("Cache-Control", "no-cache");
//        metadata.setHeader("Expires", "0");
//
//
//        // 上传文件
//        PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest);
//
//        // 关闭 OSSClient 实例
//        ossClient.shutdown();
//
//        String fileUrl = "https://" + bucketName + "." + endpoint + "/" + file.getOriginalFilename();
//        return ResponseEntity.ok(fileUrl);
//    }
 
 
}