2010-09-16 5 views
0

В моем приложении Silverlight я хотел бы иметь возможность выбрать файл из окна OpenFileDialog и загрузить/скопировать его в локальную папку в моем проекте Silverlight. Я уже могу настроить окно OpenFileDialog и установить для него некоторые параметры, но, к сожалению, я не могу найти способ создания фильтра, а затем скопировать его в локальную папку.OpenFileDialog: как скопировать файлы в локальную папку?

private void Change_Avatar_Button_Click(object sender, RoutedEventArgs e) 
    { 
     OpenFileDialog openfile = new OpenFileDialog(); 
     openfile.Multiselect = false; 
     openfile.Filter = "Images files (*.bmp, *.png)|*.bmp;*.png"; 

     if ((bool)openfile.ShowDialog()) 
     { 

     } 
    } 

Я пытался смотреть на многие учебники по сети, но они, кажется, только для отправки файла непосредственно к методу UploadFile в Silverlight, что я не хочу делать в данный момент.

Спасибо, Эфизмен.

ответ

1

Вы не можете просто записывать файлы в локальные папки без запроса пользователя во второй раз (например, сохранить как диалог http://www.silverlightshow.net/items/Using-the-SaveFileDialog-in-Silverlight-3.aspx)

Вы можете записать его на изолированное хранилище вместо: http://blogs.silverlight.net/blogs/msnow/archive/2009/05/21/71909.aspx.

Если вам нужны конкретные примеры (например, прямо из OpenFileDialog в изолированное хранилище), я настоятельно рекомендую вам использовать Google. Первый матч на «silverlight openfiledialog в изолированном хранилище» «это: http://forums.silverlight.net/forums/t/201362.aspx

+0

Что я пытаюсь сделать в точности, это выбрать файл, скопировать его в каталог и загрузить его в веб-службу, чтобы другие пользователи может видеть это. Если однажды я снова запустил приложение Silverlight и загрузив информацию из веб-службы, я бы хотел проверить эту «локальную папку», если файл уже существует, и если это так, нет необходимости загружать его снова. Я не знаю, ясно ли я? – Aymeric

+0

В этом случае лучшим вариантом является использование изолированного хранилища. Подумайте об этом как о супер-файле cookie * (Silverlight - это веб-браузер). –

+0

Ссылка, которую вы мне дали, использует IsoltedStorage, но не для OpenFileDialog. Я теряюсь с получением пути к файлу, помещая его в какой-то поток и записывая его в изолированную папку. Поэтому, если кто-нибудь может доказать мне какой-то пример или помочь, это будет очень признательно. Спасибо. – Aymeric