将输入流上传到oss 上 java
时间: 2024-06-08 07:07:52 浏览: 131
要将输入流上传到阿里云的 OSS 上,可以使用阿里云 OSS Java SDK 提供的 PutObjectRequest 类。以下是一个简单的示例代码:
```java
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import java.io.InputStream;
public class OSSUploader {
private static final String endpoint = "<your endpoint>";
private static final String accessKeyId = "<your accessKeyId>";
private static final String accessKeySecret = "<your accessKeySecret>";
private static final String bucketName = "<your bucketName>";
public static void upload(InputStream inputStream, String objectName) {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 创建PutObjectRequest对象。
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
// 上传文件流。
ossClient.putObject(putObjectRequest);
// 关闭OSSClient。
ossClient.shutdown();
}
}
```
在代码中,需要替换 `<your endpoint>`、`<your accessKeyId>`、`<your accessKeySecret>` 和 `<your bucketName>` 分别为你的 OSS endpoint、Access Key ID、Access Key Secret 和存储桶名称。`inputStream` 参数是要上传的输入流,`objectName` 参数是在 OSS 上保存的对象名。
使用时,只需要调用 `OSSUploader.upload(inputStream, objectName)` 方法即可将输入流上传到 OSS 上。
阅读全文