简体   繁体   中英

how to copy image from filepiker to app folder windows store apps

this is the code of file picker
i need to copy the image that user open it to app folder. any one can help me please

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");

// Open the file picker.

        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);

// Set the image source to the selected bitmap.`

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

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


            }
        }

    }

thanks

Use StorageFile.CopyAsync , that is, file.CopyAsync. The first argument is the destination StorageFolder, eg Windows.Storage.ApplicationData.Current.LocalFolder if you wanted to copy to appdata; otherwise you'd need to create a folder or get one from a picker separately.

You might, for example, have the user choose a default folder with the file picker (configured for folders). Just be sure to save that StorageFolder in the [Windows.Storage.AccessCache][2] to preserve programmatic access for future use.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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