yanderong
2026-06-10 0a50085d6ef51274c28d3915446af6d9ddd91cd2
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.stylefeng.guns.modular.system.util;
 
import com.aliyun.oss.OSSClient;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.Protocol;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.S3ClientOptions;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.PutObjectResult;
import com.obs.services.ObsClient;
import com.obs.services.model.ObjectMetadata;
import org.springframework.web.multipart.MultipartFile;
 
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.util.UUID;
 
public class OssUploadUtil {
    public static String oss_domain = "https://jxcz001.obs.cn-east-3.myhuaweicloud.com/";
    public static String accessKeyId = "HPUAU60WPTG0TMGK0SW2";
    public static String accessKeySecret = "PVmiIOsuvBgpWaXNWiYVOiGfhI3kptz10pvNcBcF";
    public static String bucketName="jxcz001";
    private final static String END_POINT = "obs.cn-east-3.myhuaweicloud.com";//请替换成您Bucket所在区域的endpoint
//    public static String oss_domain = "https://zion.obs-helf.cucloud.cn/";
//    public static String accessKeyId = "78C11083456341FB8F93081994FBA33F3613";
//    public static String accessKeySecret = "F7D38693A5804F66A9286BC65C6EB5A68817";
//    public static String bucketName="zion";
//    private final static String END_POINT = "obs-helf.cucloud.cn";//请替换成您Bucket所在区域的endpoint
 
 
    public static ObsClient obsClient = new ObsClient(accessKeyId, accessKeySecret, END_POINT);
    public static String ossUpload(HttpServletRequest request, MultipartFile file) throws IOException{
        //CommonsMultipartFile file = (CommonsMultipartFile)multipartFile;
        String fileName = "";
        if(file!=null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename()!=null){
            InputStream content = file.getInputStream();//获得指定文件的输入流
            com.obs.services.model.ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata
            meta.setContentLength(file.getSize());  // 必须设置ContentLength
            String originalFilename = file.getOriginalFilename();
            fileName =  UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length());
            obsClient.putObject(bucketName,"admin/"+fileName,content,meta);// 上传Object.
            if(fileName != null && !"".equals(fileName)){
                System.out.println(fileName);
                fileName = oss_domain+"admin/"+fileName;
            }
        }
        return fileName;
    }
//    public static String ossUpload(HttpServletRequest request, MultipartFile file) throws IOException{
//        //CommonsMultipartFile file = (CommonsMultipartFile)multipartFile;
//        String fileName = "";
////        if(file!=null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename()!=null){
////            InputStream content = file.getInputStream();//获得指定文件的输入流
////            ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata
////            meta.setContentLength(file.getSize());  // 必须设置ContentLength
////            String originalFilename = file.getOriginalFilename();
////            fileName =  UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length());
////            ossClient.putObject(bucketName,"img/"+fileName,content,meta);// 上传Object.
////            if(fileName != null && !"".equals(fileName)){
////                System.out.println(fileName);
////                fileName = oss_domain+"img/"+fileName;
////            }
////        }
//        BasicAWSCredentials basicAwsCred = new BasicAWSCredentials(accessKeyId, accessKeySecret); //请替换成您的AccessKey和SecretKey
//
//        ClientConfiguration clientConfiguration = new ClientConfiguration();
//
//        clientConfiguration.setProtocol(Protocol.HTTPS);
//
//        AmazonS3Client s3 = new AmazonS3Client(basicAwsCred, clientConfiguration);
//
//        S3ClientOptions options = S3ClientOptions.builder().setPathStyleAccess(true).setPayloadSigningEnabled(true).disableChunkedEncoding().build();
//
//        s3.setS3ClientOptions(options);
//
//        s3.setEndpoint(END_POINT);
//        // 将MultipartFile通过流转化为File
//        File convert = convert(file);
//        String originalFilename = file.getOriginalFilename();
//        fileName =  UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length());
//        PutObjectResult putObjectResult = s3.putObject(
//                new PutObjectRequest(bucketName, fileName, convert)
//                        .withCannedAcl(CannedAccessControlList.PublicReadWrite));
//        System.out.println(oss_domain+fileName);
//        return oss_domain+fileName;
//    }
    public static File convert(MultipartFile multipartFile) throws IOException {
        // 创建一个临时文件
        File convFile = File.createTempFile("temp", multipartFile.getOriginalFilename());
        // 将MultipartFile的内容写入临时文件
        multipartFile.transferTo(convFile);
        return convFile;
    }
}