C# 在windows RT应用程序中复制或打开外部文件

C# 在windows RT应用程序中复制或打开外部文件,c#,windows-phone-8,windows-runtime,C#,Windows Phone 8,Windows Runtime,我想在我的windows rt应用程序(适用于装有windows 8的台式机)中显示来自网站的pdf。我该怎么办 如果我将文件手动添加到资源中,我可以显示它。但如何处理资产文件夹中不存在的文件 我可以将文件复制到StorageFolder吗 或者我可以直接从网站上打开文件吗 请给我一些提示如何解决这个问题 THX要打开应用程序中的文件,请在Windows 8应用程序中使用Launcher。请参阅MSDN链接:嗨,我想在我的应用程序中打开它,但我不想使用启动器 我使用HttpWebReques

我想在我的windows rt应用程序(适用于装有windows 8的台式机)中显示来自网站的pdf。我该怎么办

如果我将文件手动添加到资源中,我可以显示它。但如何处理资产文件夹中不存在的文件

  • 我可以将文件复制到StorageFolder吗
  • 或者我可以直接从网站上打开文件吗
请给我一些提示如何解决这个问题


THX要打开应用程序中的文件,请在Windows 8应用程序中使用Launcher。请参阅MSDN链接:

嗨,我想在我的应用程序中打开它,但我不想使用启动器

我使用HttpWebRequest将文件复制到LocalFolder并处理pdf。我是这样解决的:

StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
StorageFile file = null;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(filepath);

//TODO Systemuser
request.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
var response = await request.GetResponseAsync();

List<Byte> allBytes = new List<byte>();
using (Stream imageStream = response.GetResponseStream()) {
      byte[] buffer = new byte[4000];
      int bytesRead = 0;
      while ((bytesRead = await imageStream.ReadAsync(buffer, 0, 4000)) > 0) {
           allBytes.AddRange(buffer.Take(bytesRead));
      }
}

file = await localFolder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(file, allBytes.ToArray());

await RenderPDFPage(fileName);
StorageFolder localFolder=Windows.Storage.ApplicationData.Current.localFolder;
StorageFile=null;
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(filepath);
//TODO系统用户
request.Credentials=System.Net.CredentialCache.DefaultNetworkCredentials;
var response=wait request.GetResponseAsync();
List allBytes=新列表();
使用(Stream imageStream=response.GetResponseStream()){
字节[]缓冲区=新字节[4000];
int字节读取=0;
而((bytesRead=wait imageStream.ReadAsync(buffer,04000))>0){
AddRange(buffer.Take(bytesRead));
}
}
file=wait localFolder.CreateFileAsync(文件名,CreationCollisionOption.ReplaceExisting);
等待FileIO.writeBytes同步(文件,allBytes.ToArray());
等待RenderPDFPage(文件名);