2022-12-21 09:23:46
浏览数 (1)
导包
代码语言:javascript
复制 <dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
工具类代码:
- 输入要上传的文件地址,返回上传后的地址
- 上传任意文件
代码语言:javascript
复制import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.junit.Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
/**
* --常家壮
* --2020年9月24日
*
* 阿里云OSS 文件简单上传,不检测文件后缀名,可上传任意文件类型
* 输入要上传的文件地址,返回上传后的地址
* 使用文件上传模式
* 版本:0.3
* ----------------------Maven坐标-------------------------
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
*/
public class OssUtils {
/**
* 上传返回路径
*/
public static String getFileUrl(String url){
//文件流
File file = new File(url);
// Endpoint以杭州为例,其它Region请按实际情况填写,看看自己的Endpoint(地域节点)
String endpoint = "http://oss-cn-beijing.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限
String accessKeyId = "你的accessKeyId ";
String accessKeySecret = "你的accessKeySecret ";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
/*
创建PutObjectRequest对象。
<yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
filePath:生成路径
*/
String filePath = getFilePath(file.getName());
PutObjectRequest putObjectRequest = new PutObjectRequest("你的Bucket 名称", filePath,file);
// 上传文件。
ossClient.putObject(putObjectRequest);
// 关闭OSSClient。
ossClient.shutdown();
//返回地址
return "https://你的Bucket域名/" filePath;
}
/**
* 删除文件
* @param url
*/
public static void delete(String url){
new File(url).delete();
}
/**
* 定义一个类 用于生成上传文件名称
*/
private static String getFilePath(String sourceFileName) {
DateTime dateTime = new DateTime();
return "file/" dateTime.toString("yyyy")
"/" dateTime.toString("MM") "/"
dateTime.toString("dd") "/" System.currentTimeMillis()
RandomUtils.nextInt(100, 9999) "."
StringUtils.substringAfterLast(sourceFileName, ".");
}
}