OSS對象存儲
??阿里云對象存儲服務(Object Storage Service,簡稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲服務。OSS可用于圖片、音視頻、日志等海量文件的存儲。各種終端設備、Web網站程序、移動應用可以直接向OSS寫入或讀取數據。
1.開通OSS服務
2.進入控制臺
3.創建 Bucket
4.新建文件夾(存放文件)
5.創建完成后,在右上角頭像欄找到AccessKey管理
6.點擊 創建AccessKey,身份驗證后,即可獲取到KeyId和KeySercret
實現 1.引入oos依賴com.aliyun.oss aliyun-sdk-oss2.8.3
2.yml文件以及oss配置信息application.yml
server:
port: 8081
mybatis:
type-aliases-package: com.wjj.springbootoos.pojo
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:/mapper/*.xml
spring: #springboot的配置
datasource: #定義數據源
#127.0.0.1為本機測試的ip,3306是mysql的端口號。serverTimezone是定義時區,照抄就好,mysql高版本需要定義這些東西
#useSSL也是某些高版本mysql需要問有沒有用SSL連接
url: jdbc:mysql://localhost:3306/oos?serverTimezone=UTC
username: root #數據庫用戶名,root為管理員
password: root #該數據庫用戶的密碼mysql.session
application-aliyun-oos.properties
aliyun.endPoint=oss-cn-hangzhou.aliyuncs.com
aliyun.urlPrefix=junkai1.oss-cn-hangzhou.aliyuncs.com
aliyun.accessKeyId=LTAI5tPP4FLVrM92oSZxtWV6
aliyun.accessKeuSecrect=cxLRwCyr0z2QYKYvaDDPMLMDEYMLLP
aliyun.bucketName=junkai1
aliyun.fileHost=ketai
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=200MB
這里需要填入直接的,可通過上面的AccessKey管理進入找到相對應的填入即可
configAliyunOssConfig
封裝對應屬性?
service接口實現類 上傳@Autowired
private OSS client;
@Autowired
private fileMapper mapper;
@Autowired
private AliyunOssConfig aliyunOssConfig;
//共有屬性代碼 允許上傳圖片的格式
private static final String[] IMAGE_TYPE =new String[]{
".bmp",".jpg",".jpeg",".gif",".png"
};
@Override
public String upload(MultipartFile multipartFile) {
//獲取基本信息
String endpoint=aliyunOssConfig.getEndPoint();
String bucketName=aliyunOssConfig.getBucketName();
String accesKeyId=aliyunOssConfig.getAccessKeyId();
String accessKeuSecret=aliyunOssConfig.getAccessKeuSecrect();
String fileHost=aliyunOssConfig.getFileHost();
//校驗格式
boolean isLegal=false;
for (String type:IMAGE_TYPE){
if (StringUtils.endsWithIgnoreCase(multipartFile.getOriginalFilename(),type)){
isLegal=true;
break;
}
}
if (isLegal==false){
return StatusCode.ERROR.getMsg();
}
//1.獲取文件名稱
String orName=multipartFile.getOriginalFilename();
//2.獲取文件的類型
String fileType=orName.substring(orName.lastIndexOf("."));
//3.新名稱
String newFileName= UUID.randomUUID().toString()+fileType;
System.out.println(newFileName);
//4.構建文件上傳路徑
String filePath=new SimpleDateFormat("yyyy/MM/dd").format(new Date());
//5.文件上傳的路徑
String uploadUrl=fileHost+"/"+filePath+"/"+newFileName;
System.out.println(uploadUrl);
System.out.println(filePath);
//6.開始上傳
InputStream inputStream=null;
try {
inputStream=multipartFile.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
ObjectMetadata meta=new ObjectMetadata();
meta.setContentType("image/jpg");
//上傳阿里云
client.putObject(bucketName,uploadUrl,inputStream,meta);
mapper.add(newFileName,uploadUrl);
return "http://"+bucketName+"."+endpoint+"/"+uploadUrl;
}
刪除controller層下載?下載
下載只需將圖片路徑封裝打a標簽即可
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
文章名稱:springboot實現oos上傳下載-創新互聯
文章路徑:http://vcdvsql.cn/article6/cecpig.html
成都網站建設公司_創新互聯,為您提供App設計、靜態網站、App開發、關鍵詞優化、商城網站、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯