使用文件保存选择器C#Win 8 Metro应用程序将运行时生成的图像保存到图片库中
本文关键字:保存 图像 图片库 运行时 应用程序 选择器 文件 C#Win Metro | 更新日期: 2023-09-27 18:26:34
我没有确切地去这里将图像复制到库中请帮我解决
private async void Button_Click_2(object sender, RoutedEventArgs e)
{
if (img != null)
{
try
{
Windows.Storage.Pickers.FileSavePicker SavePicker = new Windows.Storage.Pickers.FileSavePicker();
SavePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop;
SavePicker.DefaultFileExtension = ".png";
SavePicker.FileTypeChoices.Add("PNG", new string[] { ".png" });
SavePicker.FileTypeChoices.Add("JPG", new string[] { ".jpg" });
StorageFile filesave = await SavePicker.PickSaveFileAsync();
}
catch (Exception)
{
var MsgDlg = new MessageDialog("Oops something went wrong.", "Error while saving");
MsgDlg.ShowAsync();
}
}
else
{
var MsgDlg = new MessageDialog("Ooops Something went wrong.", "Error while saving");
await MsgDlg.ShowAsync();
}
var response = await HttpWebRequest.Create(url).GetResponseAsync();
List<Byte> allBytes = new List<byte>();
using (Stream imageStream = response.GetResponseStream())
{
byte[] buffer = new byte[4000];
int bytesRead = 0;
while ((bytesRead = await imageStream.ReadAsync(buffer, 0, 4000)) > 0)
{
allBytes.AddRange(buffer.Take(bytesRead));
}
}
StorageFolder storageFolder = awai KnownFolders.PicturesLibrary.CreateFolderAsync("QR Codes Generator",CreationCollisionOption.OpenIfExists );
//var file = await ApplicationData.Current.LocalFolder.CreateFileAsync(
// System.IO.Path.GetRandomFileName()+".png", CreationCollisionOption.FailIfExists);
// var folder = await StorageFolder.GetFolderFromPathAsync("");
var file = await storageFolder.CreateFileAsync(
System.IO.Path.GetRandomFileName() + ".png", CreationCollisionOption.FailIfExists);
await FileIO.WriteBytesAsync(file, allBytes.ToArray());
MessageDialog a = new MessageDialog("QR Code saved successfully!","QR Codes Generator");
a.ShowAsync();