簡體   English   中英

是否有低級Swift類可以在AWS S3中上傳文件

[英]Are there Low level Swift classes to upload files in AWS S3

這是Java中想知道它們是否具有快速等效項的相同代碼,它使您可以將文件分解為多個部分:

long partSize = 5 * 1024 * 1024;

        try {
            AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                                    .withRegion(clientRegion)
                                    .withCredentials(new ProfileCredentialsProvider())
                                    .build();

            List<PartETag> partETags = new ArrayList<PartETag>();


            InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest(bucketName, keyName);
            InitiateMultipartUploadResult initResponse = s3Client.initiateMultipartUpload(initRequest);

            long filePosition = 0;
            for (int i = 1; filePosition < contentLength; i++) {
                partSize = Math.min(partSize, (contentLength - filePosition));


                UploadPartRequest uploadRequest = new UploadPartRequest()
                        .withBucketName(bucketName)
                        .withKey(keyName)
                        .withUploadId(initResponse.getUploadId())
                        .withPartNumber(i)
                        .withFileOffset(filePosition)
                        .withFile(file)
                        .withPartSize(partSize);

                UploadPartResult uploadResult = s3Client.uploadPart(uploadRequest);
                partETags.add(uploadResult.getPartETag());

                filePosition += partSize;
            }


            CompleteMultipartUploadRequest compRequest = new CompleteMultipartUploadRequest(bucketName, keyName,
                    initResponse.getUploadId(), partETags);
            s3Client.completeMultipartUpload(compRequest);
        }

您可以在此處使用來自AWSiOSSDKv2的AWSS3客戶端: https : //github.com/aws/aws-sdk-ios

您正在尋找的請求是這樣的: https : //github.com/aws/aws-sdk-ios/blob/master/AWSS3/AWSS3Model.h#L6618可以通過以下API調用: https:/ /github.com/aws/aws-sdk-ios/blob/master/AWSS3/AWSS3Service.h#L1994

謝謝,羅漢

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM