【问题标题】:Saving a file from LocalFolder从 LocalFolder 保存文件
【发布时间】:2013-05-01 17:21:51
【问题描述】:

我的 LocalFolder 中有一个图像文件,当在应用程序中单击按钮时会下载该文件。

我需要使用 FileSavePicker 将所述图像从 LocalFolder 移动到用户选择的另一个文件夹,例如桌面。

图像在 LocalFolder 中,我用来保存它的代码是:

var imageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(
         "image.png", CreationCollisionOption.ReplaceExisting);
var fs = await imageFile.OpenAsync(FileAccessMode.ReadWrite);
DataWriter writer = new DataWriter(fs.GetOutputStreamAt(0));
writer.WriteBytes(await response.Content.ReadAsByteArrayAsync());
await writer.StoreAsync();
writer.DetachStream();
await fs.FlushAsync();

我保存的当前代码(不完整)是:

FileSavePicker saver = new FileSavePicker();
saver.SuggestedStartLocation = PickerLocationId.Desktop;
saver.SuggestedFileName = "image.png";
StorageFile file = await saver.PickSaveFileAsync();

谁能告诉我如何执行此操作?

【问题讨论】:

  • 您缺少FileStreamusing 语句
  • 快速更正它是IRandomAccessStream 而不是FileStream

标签: c# windows windows-8 save


【解决方案1】:

您应该利用FileIO 来编写您的数据,因为它并不复杂。

var data = await response.Content.ReadAsByteArrayAsync();
var localFolder = ApplicationData.Current.LocalFolder;

var imageFile = await localFolder.CreateFileAsync(
         "image.png", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(imageFile, data).AsTask();

【讨论】:

  • 这会写入 LocalFolder 吗?我不确定我是否理解。我正在尝试将之前下载到 LocalFolder 的图像保存到另一个位置,例如桌面。
  • 查看Pluralsight video,了解有关编写文件需要做什么的快速教程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 2015-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多