项目中使用阿里云进行图片上传
程序员文章站
2022-07-09 22:32:24
...
在项目中使用阿里云进行图片上传比较方便,前提是我们已经在阿里云注册好账号。
如果没有账号的也不要担心,直接注册就好。
具体实现代码
package com.leyou.upload.config;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.ObjectMetadata;
import com.netflix.client.ClientException;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
public class OssFileUtils {
private static String endpoint = "oss-cn-beijing.aliyuncs.com";
private static String accessKeyId = "LTAI4Fyr2W7bmRDcDF3qDp2p";
private static String accessKeySecret = "08Fpt46p4tAnc2ukE7XWAEM04j6SjI";
private static String bucketName = "dajiafly";
/**
* 功能描述:
*
* @param:[objectKey, multipartFile 文件的新名称]
* @return:java.lang.String
* @date:2018/10/14 15:46
**/
public static String uploadFile(String objectKey, MultipartFile multipartFile)
throws OSSException, ClientException, FileNotFoundException {
// 创建OSSClient的实例
OSSClient ossClient = new OSSClient(endpoint,accessKeyId,accessKeySecret);
StringBuffer sb = new StringBuffer();
// 上传的文件不是空,并且文件的名字不是空字符串
if (multipartFile.getSize() != 0 && !"".equals(multipartFile.getName())) {
ObjectMetadata om = new ObjectMetadata();
om.setContentLength(multipartFile.getSize());
// 设置文件上传到服务器的名称
om.addUserMetadata("filename", objectKey);
try {
ossClient.putObject(bucketName, objectKey, new ByteArrayInputStream(multipartFile.getBytes()), om);
} catch (IOException e) {
}
}
// 设置这个文件地址的有效时间
Date expiration = new Date(new Date().getTime() + 3600l * 1000 * 24 );
String url = ossClient.generatePresignedUrl(bucketName, objectKey, expiration).toString();
return url;
}
}
POM文件配置
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.3</version>
</dependency
推荐阅读
-
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
-
Springboot + Vus.js整合阿里云OSS进行图片上传的操作(前后端结合)
-
项目中使用阿里云进行图片上传
-
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
-
yii2中使用webuploader实现图片上传的实战项目
-
python提取word文件中的图片并上传阿里云OSS
-
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片
-
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
-
1.连接和上传——利用idea中的cloud toolkit插件将springboot项目部署到阿里云
-
Laravel中图片使用七牛云上传的实例介绍