1

我在我的 Windows Phone 8 项目中使用 .NET SDK for Amazon S3。我正在使用以下代码,

public  async void UploadFile(string bucketName, string filepath)
    {
        string awsID = "myID";
        string secretKey = "mysecretkey";

        AmazonS3Client s3Client = new AmazonS3Client(awsID, secretKey);
        var request = new PutObjectRequest()
        {
            BucketName = "bucketname",
             InputStream = App.GetResourceStream(new Uri("projectname;component/Assets/call.png", UriKind.Relative)).Stream
        };

        await s3Client.PutObjectAsync(request);
        Console.WriteLine("File Uploaded");

    }

我已将图像的内容类型设置为“资源”我收到此错误

XML 从 amazon s3 格式错误。

在谷歌搜索时,我发现一个链接s3-put 无法发送文件 ,要求我在文件名中附加存储桶的名称。这样做时,我知道在我的存储桶中创建了一个文件夹,其中包含文件名,并且我的内容没有上传。

4

1 回答 1

1

对于 WinRT 和 Windows Phone,FilePath 属性必须采用“ms-appdata:///local/file.txt”的形式,如此处所述

要从隔离存储上传,您可以使用 InputStream 属性。

var request = new PutObjectRequest()
    {
        BucketName = "bucketname",
        InputStream = IsolatedStorageFile.GetUserStoreForApplication().OpenFile("YOUR_FILE_PATH", FileMode.Open);
    };
于 2013-11-09T08:24:06.917 回答