基本上,该应用程序显示图像,我希望用户能够选择要下载的图像并将其存储在本地。
我有 URL,但我不知道如何将该 URL 与文件选择器结合使用。
基本上,该应用程序显示图像,我希望用户能够选择要下载的图像并将其存储在本地。
我有 URL,但我不知道如何将该 URL 与文件选择器结合使用。
您可以使用以下方法将文件从给定的 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;
}
我认为您始终可以将文件作为流读取并一点一点地保存在本地计算机上。但是我需要说我在 JAVA 中已经做过很多次了,我从来不需要在 C# 中检查这个:)
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);
}