工具存储做事(Object Storage Service,OSS)是一种海量、安全、低本钱、高可靠的云存储做事,适宜存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储本钱。
备注:以下内容是在springboot2框架根本上集成
1. 依赖

compile("com.aliyun.oss:aliyun-sdk-oss:2.8.3")
2. 配置
oss:endpoint: 访问域名accessKeyId: 访问密钥accessKeySecret: 访问密钥bucketName: 存储空间名称
3. 代码实现
OSSClientossClient=newOSSClient(endpoint,accessKeyId,accessKeySecret);try{ if(ossClient==null) { logger.info("OSSclient is null, endpoint="+endpoint+" accessKeyId="+accessKeyId+" accessKeySecret="+accessKeySecret); } StringBuilderfileUrl=newStringBuilder(); // 利用UUID重命名文件 StringfileName=UUID.randomUUID().toString().replace("-","")+"."+this.getSuffix(multipartFile.getOriginalFilename()); Booleanresult=ossClient.doesBucketExist(bucketName); if(result) { // 上传文件 ossClient.putObject(bucketName,fileName,multipartFile.getInputStream()); Dateexpiration=newDate(newDate().getTime()+3600l10002436510); // 天生URL,第一个参数为bucketName,第二个参数key为上传的文件路径名称,第三个为过期韶光 URLurl=ossClient.generatePresignedUrl(bucketName,fileName,expiration); logger.info("OSSclient uploadFile URL="+url); returnurl.toString(); }else{ return"bucketName is not exist"; } }catch(OSSExceptione) { return"OSS文件上传非常"; }catch(IOExceptione) { return"OSS文件IO非常"; }finally{ if(ossClient!=null) { logger.info("OSSclient="+ossClient); // 开释资源 关闭ossclient工具 ossClient.shutdown(); } }
把稳:
OSSClient工具通过注入bean 单例或者多例会存在非常,建议每次new工具,完成后开释ossclient工具,如果有更好的办法可以留言共享存储空间名称是否存在工具存储过期韶光设置工具名称以及工具格式重命名OSSClient工具开释4. 附件访问
根据第三步返回的附件地址在浏览器验证是否正常访问
把稳:军队网络环境有哀求 只须要在特定的网络访问或者公网须要访问,供应不同的endpoint域名配置信息以及干系OSS网络设置
5. 优点
支持海量用户并发访问比拟传统办法支配减少做事器资源等事情量和人力本钱比拟价格云支配上购买非关系型数据工具存储价格更加便宜6. 缺陷
上传后的工具存储,不能二次修正,只能再次上传工具存储备注
站在巨人的肩膀上利用牛逼的功能,既高效又实惠以上内容目前紧张是先容工具大略上传、后续会逐步更新表单上传、分片上传、追加上传、大略下载等干系内容,敬请期待。市情上其他火热的云工具存储过程和逻辑也大同小异