C# 无法使用.NET SDK for Amazon从Windows Phone将图像上载到Amazon s3
我在WindowsPhone8项目中使用.NETSDK for AmazonS3。我正在使用以下代码C# 无法使用.NET SDK for Amazon从Windows Phone将图像上载到Amazon s3,c#,file-upload,windows-phone-8,amazon-s3,C#,File Upload,Windows Phone 8,Amazon S3,我在WindowsPhone8项目中使用.NETSDK for AmazonS3。我正在使用以下代码 public async void UploadFile(string bucketName, string filepath) { string awsID = "myID"; string secretKey = "mysecretkey"; AmazonS3Client s3Client = new AmazonS3Client(
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");
}
我已将图像的内容类型设置为“资源”
我得到了这个错误
AmazonS3中的XML格式不正确
在谷歌搜索中,我发现一个链接,要求我将文件名附加到bucket的名称中。这样做时,我知道在bucket中会创建一个文件夹,文件名和内容不会上载。对于WinRT和Windows Phone,文件路径属性的格式必须为“ms”-appdata:///local/file.txt“如前所述 要从独立存储上载,可以使用InputStream属性
var request = new PutObjectRequest()
{
BucketName = "bucketname",
InputStream = IsolatedStorageFile.GetUserStoreForApplication().OpenFile("YOUR_FILE_PATH", FileMode.Open);
};
对于WinRT和Windows Phone,文件路径属性的格式必须为“ms”-appdata:///local/file.txt“如前所述 要从独立存储上载,可以使用InputStream属性
var request = new PutObjectRequest()
{
BucketName = "bucketname",
InputStream = IsolatedStorageFile.GetUserStoreForApplication().OpenFile("YOUR_FILE_PATH", FileMode.Open);
};
我已将文件路径替换为“ms”-appdata:///local/myimage.png“我仍然得到相同的例外,InputStream=App.GetResourceStream(新Uri(“../Assets/call.png”,UriKind.Relative)).Stream;而不是文件路径。您是否也尝试从独立存储上载文件?尝试捕获异常并获取内部异常。当我将filepath用作ms appdata时,会获取异常System.IO.FileNotFoundException:系统找不到指定的文件。(来自HRESULT:0x80070002的异常)}。当我使用InputStream时,我在执行putObjectAsync之前得到异常,因为{System.NullReferenceException:对象引用未设置为对象的实例。@Ritesh否目前我无法从独立存储中尝试,我正在引用本地文件我已将文件路径替换为“ms”-appdata:///local/myimage.png"我仍然得到了相同的例外,InputStream=App.GetResourceStream(新Uri(“../Assets/call.png”,UriKind.Relative)).Stream;而不是FilePath。您是否尝试从独立存储上载文件?尝试捕获异常并获取内部异常。当我将FilePath用作ms appdata时,会获取异常System.IO.FileNotFoundException:系统无法找到指定的文件。(HRESULT中的异常:0x80070002)}。当我使用InputStream时,在执行putObjectAsync之前,我收到异常,因为{System.NullReferenceException:对象引用未设置为对象的实例。@Ritesh否目前我无法从独立存储中尝试,我正在引用本地文件设置ContentType=“image/png”,解决了问题!!设置ContentType=“image/png”,解决了问题!!