阿里云的OSS相对于传统的服务器储存是方便的多,而且也比FTP和SFTP快多了。也不需要考虑很多上传问题。
根据业务可以分为前端上传和后端上传。各有各的好处,比如前端上传肯定是可以降低服务器的压力的,后端上传的控制力更强。本篇文章为java上传 文章比较简单。但是比较实用。
这里方便查看直接全部贴出来了
package com.yjzh.util;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.Bucket;
import com.aliyun.oss.model.OSSObject;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.PutObjectResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
/**
* @class:AliyunOssUtil
* @descript:java使用阿里云OSS存储对象上传图片
*/
@Component
public class AliyunOssUtil {
private Logger logger = LoggerFactory.getLogger(AliyunOssUtil.class);
//阿里云API的内或外网域名
@Value("${oos.ENDPOINT}")
private String ENDPOINT;
//阿里云API的密钥Access Key ID
@Value("${oos.ACCESS_KEY_ID}")
private String ACCESS_KEY_ID;
//阿里云API的密钥Access Key Secret
@Value("${oos.ACCESS_KEY_SECRE}")
private String ACCESS_KEY_SECRET;
//阿里云API的bucket名称
@Value("${oos.BACKET_NAME}")
private String BACKET_NAME;
//阿里云API的文件夹名称
@Value("${oos.FOLDER}")
private String FOLDER;
/**
* 获取阿里云OSS客户端对象
*
* @return ossClient
*/
private OSSClient getOSSClient() {
return new OSSClient(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
}
/**
* 创建存储空间
*
* @param ossClient OSS连接
* @param bucketName 存储空间
* @return
*/
private String