如何将图像从http服务器存储到本地文件夹? c#(win8,app)

时间:2012-10-25 09:42:15

标签: c# http directory store

我想将图像存储到本地文件夹,我从http服务器收到该文件夹​​。

请求(http:// myServer:myPort /?imageID = 5)提供“tif-image-file”。如果我将此请求输入Internet-Explorer,它就可以了!

我的c#-code:

(...)
Uri myUri = new Uri("http://myServer:myPort/?imageID=5");
StorageFile myFile = StorageFile.GetFileFromApplicationUriAsync(myUri);
(...)

但“myFile”始终为null :(

我做错了什么?

谢谢!

不可见

2 个答案:

答案 0 :(得分:0)

好的,这是我的解决方案:

  1. 我在我的文件夹中创建了一个空文件

     string myFilename = "myfile.tif";
     StorageFile myFile = await myFolder.CreateFileAsync(myFilename, CreationCollisionOption.ReplaceExisting);
    
  2. BackgroundDownloader

     try
     {
         var download = new BackgroundDownloader().CreateDownload(myUri, myFile);
         await download.StartAsync();
     }
     catch (Exception E)
     {
         ...
     }
    
  3. 下一个问题是,只有当我每次将释放模式从“X64”更改为“AnyCPU”时,它才有效。如果我不改变发布模式我的应用程序什么都不做。没有例外,没有程序崩溃...

    这是一个错误吗?

    (抱歉我的英语不好......)

答案 1 :(得分:-1)

GetFileFromApplicationUriAsync方法用于加载本地应用程序资源。所以它不适合你的情况。您需要使用Storage方法创建新的CreateStreamedFileAsnyc文件:
http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.createstreamedfileasync.aspx

编辑:在您的情况下,它会更容易使用CreateStreamedFileFromUriAsync()http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.createstreamedfilefromuriasync.aspx