2013-04-25 1 views
0

это код выбора файлов
Мне нужно скопировать изображение, которое пользователь открывает в папке с приложением. любой может помочь мне, пожалуйстакак скопировать изображение из файлаpiker в папку приложения 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); 

// Установить источник изображения выбранного bitmap.`

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

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


      } 
     } 

    } 

благодаря

+0

Так что же конкретно не работает? –

ответ

0

StorageFile.CopyAsync использования, то есть file.CopyAsync. Первым аргументом является целевое хранилище StorageFolder, например. Windows.Storage.ApplicationData.Current.LocalFolder, если вы хотите скопировать в appdata; в противном случае вам нужно будет создать папку или получить ее отдельно от сборщика.

Вы можете, например, выбрать папку по умолчанию с файловым менеджером (настроенным для папок). Просто сохраните этот StorageFolder в [Windows.Storage.AccessCache][2], чтобы сохранить программный доступ для будущего использования.

Смежные вопросы