Duplicate file in Amazon S3
amazon-s3, c#
Solution
http://jk-v20.s3.amazonaws.com//PublicFiles/3ff28e21-4801-47c6-a6d0-e370706d303f_Content_Favicon.ico
Is where the file is. (Note double slash. // ..) If you hit this Url you see the ico file. So its something to do with the leading slash, which may be added automatically by your toolset.
Problem
I'm trying to duplicate a file from a bucket to another but I can't seam to see the new file on the destination bucket. I'm getting no errors at all... Request: Response: ``` <?xml version="1.0" encoding="UTF-8"?> <CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <LastModified>2012-04-08T11:26:36.000Z</LastModified <ETag>"a5f9084078981b64737b57dbf1735fcf"</ETag> </CopyObjectResult> ``` But I keep checking the Last Modified Date on S3 and I can't find any information about this new file, either I can access it directly http://jk-v20.s3.amazonaws.com/PublicFiles/3ff28e21-4801-47c6-a6d0-e370706d303f_Content_Favicon.ico What am I doing wrong? Method: ``` public void DuplicateFileInCloud(string original, string destination) { try { CopyObjectRequest request = new CopyObjectRequest(); if (original.StartsWith("http")) { // could be from other bucket, URL will show all data // example: http://jk-v30.s3.amazonaws.com/PredefinedFiles/Favicons/002.ico string bucket = getBucketNameFromUrl(original), // jk-v30 key = getKeyFromUrl(original); // PredefinedFiles/Favicons/002.ico request.WithSourceBucket(bucket); request.WithSourceKey(key); } else { // same bucket: copy/paste operation request.WithSourceBucket(this.bucketName); request.WithSourceKey(original); } request.WithDestinationBucket(this.bucketName); request.WithDestinationKey(destination); request.CannedACL = S3CannedACL.PublicRead; using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(this.accessKey, this.secretAccessKey)) { S3Response response = client.CopyObject(request); response.Dispose(); } } catch (AmazonS3Exception s3Exception) { throw s3Exception; } } ```