0

Windows 8/RT アプリに次のコードがあります。

public static async Task<StorageFile> SaveAsync(Uri fileUri, StorageFolder folder, string fileName)
    {
        try
        {
            var file = await folder.CreateFileAsync(fileName);
            var downloader = new BackgroundDownloader();
            var download = downloader.CreateDownload(fileUri, file); // here Exeption is fired
            var res = await download.StartAsync();
            return file;
        }
        catch (Exception e)
        {
             Debug.WriteLine(ex.Message);
        }
        return null;
    }

例のメッセージ:Access denied

注:
file- 正しいStorageFile( ContentType=image/jpg)
fileUri- 正しい画像 uri
folder- 正しい保存フォルダーです。

私が逃したものは何ですか?

4

2 に答える 2

1

folderコードを呼び出すときの値は何ですか? Package.appxmanifest の機能を適切なフォルダー (Pictures フォルダー、Documents フォルダーなど) に追加する必要がある場合があります。

既定では、モダン UI アプリのサンドボックス化された性質は、それ自体のローカル フォルダーにのみ明示的にアクセスできることを意味します (分離ストレージのように考えてください)。他の場所にアクセスするには、マニフェスト ファイルで、それらの他の場所にアクセスする必要があることを宣言する必要があります。ただし、利用できる場所はかなり限られています。

ただし、保存ファイル ピッカーを使用すると、ファイルを保存するためのより広い範囲の場所にアクセスできます。

于 2013-05-13T11:43:27.547 に答える
0

私は少し間違いを見つけました:
私は忘れていました,それfileUriはローカルサーバーへのUriです. ネストされたプロパティをマニフェストに追加するだけで、問題が修正されました。

于 2013-05-13T13:55:08.643 に答える