繁体   English   中英

如何将图像从Filepiker复制到应用程序文件夹Windows存储应用程序

[英]how to copy image from filepiker to app folder windows store apps

这是文件选择器的代码
我需要将用户打开的图像复制到应用程序文件夹中。 任何人都可以帮助我

private async void Button_Click(object sender, RoutedEventArgs e)
    {

        if (Windows.UI.ViewManagement.ApplicationView.Value != Windows.UI.ViewManagement.ApplicationViewState.Snapped ||
             Windows.UI.ViewManagement.ApplicationView.TryUnsnap() == true)
        {
            Windows.Storage.Pickers.FileOpenPicker openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;

            // Filter to include a sample subset of file types.
            openPicker.FileTypeFilter.Clear();
            openPicker.FileTypeFilter.Add(".bmp");
            openPicker.FileTypeFilter.Add(".png");
            openPicker.FileTypeFilter.Add(".jpeg");
            openPicker.FileTypeFilter.Add(".jpg");

//打开文件选择器。

        Windows.Storage.StorageFile file = await openPicker.PickSingleFileAsync();

            // file is null if user cancels the file picker.
            if (file != null)
            {
                // Open a stream for the selected file.
                Windows.Storage.Streams.IRandomAccessStream fileStream =
                    await file.OpenAsync(Windows.Storage.FileAccessMode.Read);

//将图像源设置为选定的位图。

                Windows.UI.Xaml.Media.Imaging.BitmapImage bitmapImage =
                    new Windows.UI.Xaml.Media.Imaging.BitmapImage();

                bitmapImage.SetSource(fileStream);
                img.Source = bitmapImage;
                this.DataContext = file;


            }
        }

    }

谢谢

使用StorageFile.CopyAsync ,即file.CopyAsync。 第一个参数是目标StorageFolder,例如Windows.Storage.ApplicationData.Current.LocalFolder(如果要复制到appdata); 否则,您需要创建一个文件夹或从选择器中单独获取一个。

例如,您可以让用户使用文件选择器(为文件夹配置)选择默认文件夹。 只需确保将StorageFolder保存在[Windows.Storage.AccessCache][2]以保留编程访问权限以备将来使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM