44323
2024-04-23 16b704d18a875d1fb63827aaa507790ba2bef5be
guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/OssController.java
@@ -1,51 +1,80 @@
package com.stylefeng.guns.modular.code.controller;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
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.IOException;
import java.io.*;
@CrossOrigin
@RestController
@RequestMapping("/base/oss")
public class OssController {
    private static final String endpoint = "oss-cn-hongkong.aliyuncs.com";
    private static final String accessKeyId = "LTAI5tQZzqsZYX5gw8yRNchQ";
    private static final String accessKeySecret = "5yJVdXwRzwPZwKKXp07lRAc7tkTxQp";
    private static final String bucketName = "bizuphk";
    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 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);
    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);
//    }
}