引入依赖
Hntool对所有第三方都是可选依赖,因此在使用阿里云存储时需要自行引入第三方依赖。
<!--阿里云上传相关依赖-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.8.0</version>
</dependency>
阿里云文档地址
参数
在配置表中,配置以下参数:
名称 | 配置名 | 配置值 |
---|---|---|
【阿里云存储】endpoint | upload.ali.endpoint | http://xxxx |
【阿里云存储】accessKey | upload.ali.accessKey | accessKey |
【阿里云存储】secretKey | upload.ali.secretKey | secretKey |
【阿里云存储】bucket | upload.ali.bucket | bucket |
【阿里云存储】fileUrl | upload.ali.fileUrl | https://xxxx |
调用工具类插入参数
AliUpload.Param param = AliUpload.createParam();
param.setEndpoint("xxxx");
param.setFileUrl("xxxx");
param.setAccessKey("xxxx");
param.setSecretKey("xxxx");
param.setBucket("xxxx");
genUtils.uploadAli(param);
使用
File file = FileUtil.file("C:\\Users\\Administrator\\Pictures\\4.jpg");
String targetPath="123456.jpg";
// 上传文件
FileUploadUtil.uploadFile(UploadPlatform.Ali,file,targetPath);
// 过期时间
int expireTime = 30;
// 获取临时路径
FileUploadUtil.getTempDownUrl(UploadPlatform.Ali,targetPath,expireTime);
回调
@RequestMapping(value = "/callback")
@ResponseBody
public Map callback(HttpServletRequest request) {
String fileName = request.getParameter("filename");
String size = request.getParameter("size");
String mimeType = request.getParameter("mimeType");
String height = request.getParameter("height");
String width = request.getParameter("width");
// System.out.println(fileName+"size "+size+" mimeType"+mimeType);
Map map = new HashMap();
map.put("url",fileName);
return map;
}
申请参数
Postman
上传
申请 AccessKey 和 AccessKeySecret
(7 条消息) 阿里云创建 AccessKey 和 Access Key Secert_yufire 的博客 - CSDN 博客
添加权限的时候选择 AliyunOSSFullAccess 管理对象存储服务(OSS)权限
跨域问题
说明 为了您的数据安全,实际使用时,来源栏建议您填写自己需要的域名。更多配置信息请参见设置跨域访问。
Authortion 重复
回调
图片压缩
图片处理指南:https://help.aliyun.com/document_detail/183902.html
缩放后,设置清晰度
?x-oss-process=image/resize,p_63/quality,q_90
# 表示先将图片缩放到原图的63%,再设置图片相对质量为90%。
缩放,清晰度不变
?x-oss-process=image/resize,p_63
裁剪
?x-oss-process=image/circle,r_100
调整大小,下划线后面紧跟着的就是图片的宽高大小 (单位:px)
?x-oss-process=image/resize,m_lfit,h_100,w_100
设置图片清晰度最后就是清晰度0-100,数字越大,清晰度越高
?x-oss-process=image/quality,q_40
参考: https://blog.csdn.net/dizhi9505/article/details/101746081 https://www.jianshu.com/p/53daad28ecee
图片处理 | 参数 | 说明 |
---|---|---|
图片高级压缩 | format | 将图片转换为HEIF或WebP M6等高压缩比格式。 |
图片缩放 | resize | 将图片缩放至指定大小。 |
内切圆 | circle | 以图片中心点为圆心,裁剪出指定大小的圆形图片。 |
自定义裁剪 | crop | 裁剪指定大小的矩形图片。 |
索引切割 | indexcrop | 按指定x或y轴的大小切分图片,之后选取其中一张图片。 |
圆角矩形 | rounded-corners | 按指定圆角大小将图片裁剪成圆角矩形。 |
自适应方向 | auto-orient | 将携带旋转参数的图片进行自适应旋转。 |
旋转 | rotate | 按指定角度以顺时针方向旋转图片。 |
模糊效果 | blur | 对图片进行模糊处理。 |
亮度 | bright | 调整图片亮度。 |
锐化 | sharpen | 对图片进行锐化处理。 |
对比度 | contrast | 调整图片对比度。 |
渐进显示 | interlace | 将JPG格式的图片调整为渐进显示。 |
质量变换 | quality | 调整JPG和WebP格式图片的质量。 |
格式转换 | format | 转换图片格式。 |
图片水印 | watermark | 为图片添加图片或文字水印。 |
获取图片主色调 | average-hue | 获取图片主色调。 |
获取信息 | info | 获取图片信息,包括基本信息、EXIF信息。 |
因为我后台保存多张图片都是逗号拼接的,返回给前端就出问题了,所以这里我用到了自定义样式
?x-oss-process=style/q50
好处就是改样式里面的属性不用改代码,不用重新部署
获取视频封面
?x-oss-process=video/snapshot,t_7000,f_jpg,w_800,h_600,m_fast
- t_ 后面配置截取多少毫秒的视频对应的画面