如何将图像URL保存到Windows 8中的本地文件c#

时间:2012-10-27 18:40:59

标签: c# xaml windows-8 windows-runtime winrt-xaml

基本上,该应用程序显示图像,我希望用户能够选择要下载的图像并将其存储在本地。

我有网址,但我不知道如何将该网址与filepicker结合使用。

3 个答案:

答案 0 :(得分:4)

您可以使用以下方法将文件从给定的Uri下载到使用文件选择器选择的文件中:

private async Task<StorageFile> SaveUriToFile(string uri)
{
    var picker = new FileSavePicker();

    // set appropriate file types
    picker.FileTypeChoices.Add(".jpg Image", new List<string> { ".jpg" });
    picker.DefaultFileExtension = ".jpg";

    var file = await picker.PickSaveFileAsync();
    using (var fileStream = await file.OpenStreamForWriteAsync())
    {
        var client = new HttpClient();
        var httpStream = await client.GetStreamAsync(uri);
        await httpStream.CopyToAsync(fileStream);
        fileStream.Dispose();
    }
    return file;
}

答案 1 :(得分:0)

我认为您始终可以将文件作为流读取并在本地计算机上一点一点地保存。但是我需要说我在JAVA中已经多次这样做了,我从来不需要在C#中检查这个:)

答案 2 :(得分:-1)

SaveFileDialog myFilePicker = new SaveFileDialog();

//put options here like filters or whatever

if (myFilePicker.ShowDialog() == DialogResult.OK)
{
    WebClient webClient = new WebClient();
    webClient.DownloadFile("http://example.com/picture.jpg", myFilePicker.SelectedFile);
}