|
|
@@ -8,13 +8,10 @@ import com.qcloud.cos.model.ObjectMetadata;
|
|
|
import com.qcloud.cos.model.PutObjectRequest;
|
|
|
import com.qcloud.cos.model.PutObjectResult;
|
|
|
import com.qcloud.cos.region.Region;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.context.annotation.PropertySource;
|
|
|
import org.springframework.core.io.Resource;
|
|
|
import org.springframework.core.io.UrlResource;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import java.io.InputStream;
|
|
|
import java.net.MalformedURLException;
|
|
|
import java.net.URL;
|
|
|
import java.nio.file.Path;
|
|
|
@@ -81,14 +78,14 @@ public class TencentStorage implements Storage {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void store(MultipartFile file, String keyName) {
|
|
|
+ public void store(InputStream inputStream, long contentLength, String contentType, String keyName) {
|
|
|
try {
|
|
|
// 简单文件上传, 最大支持 5 GB, 适用于小文件上传, 建议 20M以下的文件使用该接口
|
|
|
ObjectMetadata objectMetadata = new ObjectMetadata();
|
|
|
- objectMetadata.setContentLength(file.getSize());
|
|
|
- objectMetadata.setContentType(file.getContentType());
|
|
|
+ objectMetadata.setContentLength(contentLength);
|
|
|
+ objectMetadata.setContentType(contentType);
|
|
|
// 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 `bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg` 中,对象键为 doc1/pic1.jpg, 详情参考 [对象键](https://cloud.tencent.com/document/product/436/13324)
|
|
|
- PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, keyName, file.getInputStream(), objectMetadata);
|
|
|
+ PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, keyName, inputStream, objectMetadata);
|
|
|
PutObjectResult putObjectResult = getCOSClient().putObject(putObjectRequest);
|
|
|
} catch (Exception ex) {
|
|
|
ex.printStackTrace();
|