2016-08-25 60 views
0

我用AWSSDK對於.NET和我的副本文件中的代碼是:AWS S3的.Net對象複製該密鑰包含在結束點

CopyObjectRequest request = new CopyObjectRequest() 
    { 
    SourceBucket = _bucketName, 
    SourceKey = sourceObjectKey, 
    DestinationBucket = _bucketName, 
    DestinationKey = targetObjectKey 
    }; 

CopyObjectResponse response = amazonS3Client.CopyObject(request); 

代碼工作完美正常的文件,但是當我試圖複製文件與像文件名「法師......」它得到以下錯誤信息:

The request signature we calculated does not match the signature you provided. Check your key and signing method.

有沒有辦法複製的對象爲該類型的文件?

回答

1

我使用以下C#代碼在S3文件夾之間複製文件。

AmazonS3Config cfg = new AmazonS3Config(); 
cfg.RegionEndpoint = Amazon.RegionEndpoint.EUCentral1;//my bucket has this Region 
string bucketName = "your bucket"; 
AmazonS3Client s3Client = new AmazonS3Client("your access key", "your secret key", cfg); 
S3FileInfo sourceFile = new S3FileInfo(s3Client, bucketName, "FolderNameUniTest179/Test.test.test.pdf"); 
S3DirectoryInfo targetDir = new S3DirectoryInfo(s3Client, bucketName, "Test");   
sourceFile.CopyTo(targetDir); 
S3FileInfo sourceFile2 = new S3FileInfo(s3Client, bucketName, "FolderNameUniTest179/Test...pdf"); 
sourceFile2.CopyTo(targetDir); 

我對.net 3.5使用亞馬遜AWSSDK.Core和AWSSDK.S3版本3.1.0.0。我希望它能幫助你。