Ситуация: надо c сервера загрузить изображение, например, Test.png и сохранить в файл, указанный пользователем на своем компьютере.
Для этого необходимо создать Silverlight приложение. Код MainPage.xaml заменить следующим:
| <UserControl x:Class="SilverlightApplication5.MainPage" |
| | xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> |
| | <Button x:Name="Load" Content="Load" Width="100" Height="30" /> |
Код в MainPage.xaml.cs заменить следующим:
| using System.Windows.Controls; |
| namespace SilverlightApplication5 |
| | public partial class MainPage : UserControl |
| | Load.Click += new RoutedEventHandler(Load_Click); |
| | void Load_Click(object sender, RoutedEventArgs e) |
| | UriBuilder ub = new UriBuilder(App.Current.Host.Source); |
| | SaveFileDialog sfd = new SaveFileDialog(); |
| | if (sfd.ShowDialog() == false) |
| | WebClient wc = new WebClient(); |
| | wc.OpenReadCompleted += (s, a) => |
| | if (a.Cancelled || a.Error != null) |
| | using (var trg = sfd.OpenFile()) |
| | while ((value = a.Result.ReadByte()) != -1) |
| | trg.WriteByte((byte)value); |
| | wc.OpenReadAsync(ub.Uri); |
В корень сайта добавить файл Test.png и запустить приложение.
В IE отобразится кнопка Load. После нажатия откроется диалог сохранения файла, в котором надо указать имя файла (расширение указывать не требуется) и нажать Save.
Комментариев нет:
Отправить комментарий