从Windows Phone 8.1中的独立存储启动文件

时间:2014-10-17 09:35:02

标签: c# windows-phone-8.1 document

我的基本目标是:

  1. 从URI
  2. 获取文档
  3. 将其保存到隔离存储
  4. 使用默认应用
  5. 启动

    我已经完成了所有代码," .PDF,.txt"文件也在开放,但其内容没有出现。它仍然是空白的。如果是" .docx",我收到此消息:

    "Document has been damaged and can't be opened".
    

    请参阅下面的代码:

    String file = "abc.pdf";
    Uri uri = new Uri("https://www.abc.com/abcd/getDocument");
    
    WebClient wc = new WebClient();
    wc.OpenReadAsync(uri);
    wc.OpenReadCompleted += wc_OpenReadCompleted;
    
    async void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {
            byte[] buffer = new byte[e.Result.Length];
            await e.Result.ReadAsync(buffer, 0,(int)buffer.Length);
    
            using (IsolatedStorageFile storageFile = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (IsolatedStorageFileStream stream = storageFile.OpenFile(file, FileMode.Create))
                {
                    await stream.WriteAsync(buffer, 0, buffer.Length);
                    stream.Flush();
                }
            }
    
            StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
            StorageFile pdffile = await local.GetFileAsync(file);
    
         // Launch the pdf file
         await Windows.System.Launcher.LaunchFileAsync(pdffile);
    
    }
    

1 个答案:

答案 0 :(得分:1)

您的URI不正确。尝试使用正确的URI。这是唯一的问题。您可以通过在浏览器中使用已使用的URI来验证。它不存在。

对所有文件使用相同的相应扩展名,例如PDF文件的.pdf文件,docx文件使用.docx扩展名