C# 从隔离存储Windows phone 8获取图像路径

C# 从隔离存储Windows phone 8获取图像路径,c#,windows-phone-8,isolatedstorage,onedrive,C#,Windows Phone 8,Isolatedstorage,Onedrive,我正在尝试将图像从手机上传到一个驱动器,但我经常遇到异常情况: 不允许对IsolatedStorageFileStream执行操作 下面是我从点击按钮到上传文件的代码。顺便说一句,我能够上传一个样本文件没有任何问题,我创建自己,但不能访问我的手机图像 这是我的密码 private async void btnUpload_Click(object sender, RoutedEventArgs e) { try {

我正在尝试将图像从手机上传到一个驱动器,但我经常遇到异常情况:

不允许对IsolatedStorageFileStream执行操作

下面是我从点击按钮到上传文件的代码。顺便说一句,我能够上传一个样本文件没有任何问题,我创建自己,但不能访问我的手机图像

这是我的密码

 private async void btnUpload_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (await skydrive.UploadFile(@"isostore:/Shared/ShellContent/sample_photo_00.jpg") == OperationStatus.Completed)
                    MessageBox.Show("The file has been uploaded!");
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
UploadFile
函数的定义是

 public async Task<OperationStatus> UploadFile(string fileName)
        {
            using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (var fileStream = store.OpenFile(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Read ))
                {
                    try
                    {
                        if (liveClient == null)
                            await GetSkyDriveFolder();

                        LiveOperationResult res = await liveClient.UploadAsync(subFolderID,
                                                    fileName,
                                                    fileStream,
                                                    OverwriteOption.Overwrite
                                                    );
                        return OperationStatus.Completed;
                    }
                    catch 
                    {
                        return OperationStatus.Failed;
                    }
                }
            }
        }
公共异步任务上载文件(字符串文件名)
{
使用(IsolatedStorageFile store=IsolatedStorageFile.GetUserStoreForApplication())
{
使用(var fileStream=store.OpenFile(文件名,FileMode.Open,FileAccess.ReadWrite,FileShare.Read))
{
尝试
{
if(liveClient==null)
等待GetSkyDrive文件夹();
LiveOperationResult res=等待liveClient.UploadAsync(子文件夹ID,
文件名,
文件流,
覆盖选项。覆盖
);
返回操作状态。已完成;
}
接住
{
返回操作状态。失败;
}
}
}
}

您是否已访问相同的图像“sample\u photo\u 00.jpg”进行显示?如果映像已在读取流中使用,则无法使用ReadWrite访问同一源。猜测一下:尝试用FileAccess.ReadWrite替换FileAccess.ReadWrite。如果这没有帮助,您可能需要确定引发异常的确切行。我尝试使用FileAccess读取,但它给了我错误,这就是为什么我将其更改为ReadWrite以检查它是否工作,但它没有工作。确切的异常代码行是:if(等待skydrive.UploadFile(@“isostore:/Shared/ShellContent/sample_photo_00.jpg”)==OperationStatus.Completed)