1

httpサーバーから受け取った画像をローカルフォルダーに保存したい。

リクエスト (http://myServer:myPort/?imageID=5) は「tif-image-file」を配信します。このリクエストを Internet-Explorer に入力すると、うまくいきます。

私のC#コード:

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

しかし、「myFile」は常にnullです:(

私は何を間違えましたか?

ありがとう!

目に見えない

4

2 に答える 2

0

ここに私の解決策があります:

  1. フォルダに空のファイルを作成しました

     string myFilename = "myfile.tif";
     StorageFile myFile = await myFolder.CreateFileAsync(myFilename, CreationCollisionOption.ReplaceExisting);
    
  2. バックグラウンドダウンローダ

     try
     {
         var download = new BackgroundDownloader().CreateDownload(myUri, myFile);
         await download.StartAsync();
     }
     catch (Exception E)
     {
         ...
     }
    

次の問題は、リリースモードを「X64」から「AnyCPU」に、またはその逆に変更した場合にのみ機能することです。Release-Mode を変更しないと、アプリは何もしません。例外もプログラムのクラッシュもありません...

これはバグですか?

(下手な英語ですみません…)

于 2012-10-30T13:17:20.327 に答える
-1

このGetFileFromApplicationUriAsyncメソッドは、ローカル アプリケーション リソースをロードするために使用することを目的としています。したがって、あなたのケースには適していません。メソッドStorageを使用して新しいファイルを作成する必要があります: http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.createstreamedfileasync.aspxCreateStreamedFileAsnyc

編集:あなたの場合、使いやすいでしょうCreateStreamedFileFromUriAsync(): http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.createstreamedfilefromuriasync.aspx

于 2012-10-25T09:49:01.970 に答える