@Override public void store(InputStream inputStream, long contentLength, String contentType, String keyName) { try { // 简单文件上传, 最大支持 5 GB, 适用于小文件上传, 建议 20M以下的文件使用该接口 ObjectMetadata objectMetadata = new ObjectMetadata(); 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, inputStream, objectMetadata); PutObjectResult putObjectResult = getCOSClient().putObject(putObjectRequest); } catch (Exception ex) { ex.printStackTrace(); } }
@Override public String upload(InputStream is, String filename, String contentType, long length) throws IOException { ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentLength(length); metadata.setContentType(contentType); client.putObject(name, "images/" + filename, is, metadata); return filename; }
@Override public PutObjectResult putObject(String bucketName, String key, String content) throws CosClientException, CosServiceException { rejectNull(bucketName, "The bucket name parameter must be specified when uploading an object"); rejectNull(key, "The key parameter must be specified when uploading an object"); rejectNull(content, "The content with utf-8 encoding must be specified when uploading an object"); byte[] contentByteArray = content.getBytes(StringUtils.UTF8); String contentMd5 = Md5Utils.md5AsBase64(contentByteArray); InputStream contentInput = new ByteArrayInputStream(contentByteArray); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentType("text/plain"); metadata.setContentLength(contentByteArray.length); metadata.setContentMD5(contentMd5); return putObject(new PutObjectRequest(bucketName, key, contentInput, metadata)); }
@Override public PutObjectResult putObject(String bucketName, String key, String content) throws CosClientException, CosServiceException { rejectNull(bucketName, "The bucket name parameter must be specified when uploading an object"); rejectNull(key, "The key parameter must be specified when uploading an object"); rejectNull(content, "The content with utf-8 encoding must be specified when uploading an object"); byte[] contentByteArray = content.getBytes(StringUtils.UTF8); String contentMd5 = Md5Utils.md5AsBase64(contentByteArray); InputStream contentInput = new ByteArrayInputStream(contentByteArray); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentType("text/plain"); metadata.setContentLength(contentByteArray.length); metadata.setContentMD5(contentMd5); return putObject(new PutObjectRequest(bucketName, key, contentInput, metadata)); }
objectMetadata.setContentType("image/jpeg");
objectMetadata.setContentType("image/jpeg");
/** * Initiates a multipart upload and returns the upload id */ private String initiateMultipartUpload(CopyObjectRequest origReq) { InitiateMultipartUploadRequest req = new InitiateMultipartUploadRequest(origReq.getDestinationBucketName(), origReq.getDestinationKey()) .withCannedACL(origReq.getCannedAccessControlList()) .withAccessControlList(origReq.getAccessControlList()) .withStorageClass(origReq.getStorageClass()) .withGeneralProgressListener(origReq.getGeneralProgressListener()); ObjectMetadata newObjectMetadata = origReq.getNewObjectMetadata(); if (newObjectMetadata == null) { newObjectMetadata = new ObjectMetadata(); } if (newObjectMetadata.getContentType() == null) { newObjectMetadata.setContentType(metadata.getContentType()); } req.setObjectMetadata(newObjectMetadata); String uploadId = cos.initiateMultipartUpload(req).getUploadId(); log.debug("Initiated new multipart upload: " + uploadId); return uploadId; }
/** * Initiates a multipart upload and returns the upload id */ private String initiateMultipartUpload(CopyObjectRequest origReq) { InitiateMultipartUploadRequest req = new InitiateMultipartUploadRequest(origReq.getDestinationBucketName(), origReq.getDestinationKey()) .withCannedACL(origReq.getCannedAccessControlList()) .withAccessControlList(origReq.getAccessControlList()) .withStorageClass(origReq.getStorageClass()) .withGeneralProgressListener(origReq.getGeneralProgressListener()); ObjectMetadata newObjectMetadata = origReq.getNewObjectMetadata(); if (newObjectMetadata == null) { newObjectMetadata = new ObjectMetadata(); } if (newObjectMetadata.getContentType() == null) { newObjectMetadata.setContentType(metadata.getContentType()); } req.setObjectMetadata(newObjectMetadata); String uploadId = cos.initiateMultipartUpload(req).getUploadId(); log.debug("Initiated new multipart upload: " + uploadId); return uploadId; }