java批量上传图片到oss
时间: 2023-11-06 17:05:03 浏览: 168
可以使用阿里云提供的Java SDK来实现批量上传图片到OSS。
首先,需要在项目中引入阿里云Java SDK的依赖,可以在Maven中添加以下依赖:
```xml
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
```
接着,可以编写上传图片的代码。以下是一个基本的示例:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
public class BatchUploadToOSS {
public static void main(String[] args) {
String endpoint = "your_endpoint"; // OSS服务端点
String accessKeyId = "your_access_key_id"; // AccessKeyId
String accessKeySecret = "your_access_key_secret"; // AccessKeySecret
String bucketName = "your_bucket_name"; // 存储空间名称
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
List<String> fileNames = new ArrayList<>(); // 需要上传的文件路径列表
fileNames.add("path/to/file1.jpg");
fileNames.add("path/to/file2.jpg");
fileNames.add("path/to/file3.jpg");
for (String fileName : fileNames) {
File file = new File(fileName);
InputStream inputStream;
try {
inputStream = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
continue;
}
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, fileName, inputStream);
PutObjectResult result = ossClient.putObject(putObjectRequest);
System.out.println("上传文件 " + fileName + " 成功,文件URL:" + result.getETag());
}
ossClient.shutdown();
}
}
```
以上代码会将指定目录下的多个文件批量上传到OSS,并输出每个文件的URL。需要将`your_endpoint`、`your_access_key_id`、`your_access_key_secret`和`your_bucket_name`替换为自己的实际信息。
注意,以上代码中的文件名需要包含文件扩展名。例如,如果需要上传的文件名为`image01`,那么应该将其改为`image01.jpg`或`image01.png`等带有文件扩展名的名称。
阅读全文
相关推荐














