java调用阿里云oss上传文件

MAVEN导入

<!-- 阿里云文件上传-->
<dependency>
  	<groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>2.7.0</version>
</dependency>

工具类

package com.ruoyi.web.controller.tool;

import java.io.ByteArrayInputStream;
import java.io.File;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.CannedAccessControlList;
import com.aliyun.oss.model.CreateBucketRequest;
import com.aliyun.oss.model.PutObjectRequest;

public class AliyunOssUtil {
    
    

	private static String endpoint = "XXXXXXXXXXXXXXXXXXXXX";
	private static String accessKeyId = "XXXXXX";
    private static String accessKeySecret = "XXXXXX";
    private static String baseBucketName = "XXXXX";
    
    /**
     * 文件上传
     * uploadPath:上传路径:/camera/photo/2017/09/12/
     * fileName:xxx.png
     * @return
     */
    public static String upload(String uploadPath,String fileName,File file){
    
    
    	
    	String uploadUrl = "";
    	OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    	try{
    
    
	    	if (!ossClient.doesBucketExist(baseBucketName)) {
    
    
	            /*
	             * Create a new OSS bucket
	             * */
	            ossClient.createBucket(baseBucketName);
	            CreateBucketRequest createBucketRequest= new CreateBucketRequest(baseBucketName);
	            createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
	            ossClient.createBucket(createBucketRequest);
	        }
	    	
	    	String key = uploadPath + fileName;
	    	
	    	/*
	         * Upload an object to your bucket
	         */
	        ossClient.putObject(new PutObjectRequest(baseBucketName, uploadPath + fileName, file));
	        
	        uploadUrl = key;
	        
    	}catch (OSSException oe) {
    
    
            System.out.println("Error Message: " + oe.getErrorMessage());
        } catch (ClientException ce) {
    
    
            System.out.println("Error Message: " + ce.getMessage());
        } finally {
    
    
            ossClient.shutdown();
        }
    	
    	return uploadUrl;
    }
    
    /**
     * 文件上传
     * uploadPath:上传路径:/camera/photo/2017/09/12/
     * fileName:xxx.png
     * @return
     */
    public static String upload(String uploadPath,String fileName,byte[] bytes){
    
    
    	
    	String uploadUrl = "";
    	OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    	try{
    
    
	    	if (!ossClient.doesBucketExist(baseBucketName)) {
    
    
	            /*
	             * Create a new OSS bucket
	             * */
	            ossClient.createBucket(baseBucketName);
	            CreateBucketRequest createBucketRequest= new CreateBucketRequest(baseBucketName);
	            createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
	            ossClient.createBucket(createBucketRequest);
	        }
	    	
	    	String key = uploadPath + fileName;
	    	
	    	/*
	         * Upload an object to your bucket
	         */
	        ossClient.putObject(new PutObjectRequest(baseBucketName, key, new ByteArrayInputStream(bytes)));
	        
	        uploadUrl = key;
	        
    	}catch (OSSException oe) {
    
    
            System.out.println("Error Message: " + oe.getErrorCode());
        } catch (ClientException ce) {
    
    
            System.out.println("Error Message: " + ce.getMessage());
        } finally {
    
    
            ossClient.shutdown();
        }
    	return uploadUrl;
    }
}

调用

	public String uploadFile(MultipartFile file) throws Exception{
    
    
		try
        {
    
    
        	
            String fileName = file.getOriginalFilename();
			String ext = fileName.substring(fileName.lastIndexOf("."));
			String newFileName = UUID.randomUUID().toString()+ext;
			
            Date now = new Date();
            Calendar cal = Calendar.getInstance();
			cal.setTime(now);
            Integer month = cal.get(Calendar.MONTH) + 1;
			String uploadPath = "equip" + "/" + cal.get(Calendar.YEAR) + "/" + month + "/" + cal.get(Calendar.DAY_OF_MONTH) + "/";
            String uploadUrl = AliyunOssUtil.upload(uploadPath, newFileName, file.getBytes());
            
            return "https://jzyxznkj-oss.oss-cn-hangzhou.aliyuncs.com/" + uploadUrl;
        }
        catch (Exception e)
        {
    
    
            return "";
        }
	}

猜你喜欢

转载自blog.csdn.net/woshiabc111/article/details/119565013