我正在写一个wp8应用。几天我有问题困扰我。 我想将照片上传到服务器。我从相册中选择了一张照片,我使用FileStream上传它,但我无法打开它。它表示拒绝访问该路径。
PhotoChooserTask photoChooserTask = new PhotoChooserTask();
photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed);
void photoChooserTask_Completed(object sender, PhotoResult e)
{
if (e.TaskResult == TaskResult.OK)
{
// show the img
BitmapImage bmp = new BitmapImage();
bmp.SetSource(e.ChosenPhoto);
ShowPhoto.Source = bmp;
// get path of img
string imagePath = e.OriginalFileName;
}
}
上传
if (imagePath != null)
{
FileStream fs = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
StreamContent imageContent = new StreamContent(fs);
}
在行:FileStream fs = new FileStream(imagePath,FileMode.Open,FileAccess.Read); 我遇到了一个错误。
System.UnauthorizedAccessException:访问路径&#39; C:\ Data \ Users \ Public \ Pictures \ Camera Roll \ WP_20140331_001.jpg&#39;被拒绝。
我在WMAppMainfest.xml中选择了函数`D_CAP_MEDIALIB_PHOTO
答案 0 :(得分:1)
我认为你不能像那样访问相机胶卷。您可能必须使用MediaLibrary类。此外,您在PhotoChooserTask_Completed事件处理程序中有图像。您不必进入文件流。
答案 1 :(得分:0)
我看到你自己解决了问题 仍然没有在这里解决代码 我希望有人能用它:)
var imageAsByteArray = File.ReadAllBytes(imagePath);
// I use as example a pictureBox:
pictureBox1.Image = byteArrayToImage(imageAsByteArray);
// Or safe/copy/replace it:
File.WriteAllBytes(picture_Path, imageAsByteArray);
您也可以立即删除(新)图片! (如果你想)