Загрузка изображения в файловый поток - PullRequest
8 голосов
/ 24 июля 2010

Я загружаю изображение, используя

OpenFileDialog open = new OpenFileDialog();

. После выбора файла в «open» заполняется несколько элементов, включая путь.

Теперь я хочу загрузитьфайл в файловый поток (или что-то подобное) для отправки через веб-сервис ... это возможно?

спасибо

Ответы [ 3 ]

7 голосов
/ 24 июля 2010

Вы можете открыть файл с помощью FileStream:

FileStream file = new FileStream("path to file", FileMode.Open);

Затем вы можете передать его в http-контекст веб-службы Response.OutputStream свойство,Вам все равно нужно будет установить правильный тип MIME и различные заголовки, но это хорошо работает:

HttpContext.Current.Response.OutputStream = file;

Сказав это, самый простой способ отправить файл из веб-службы (или веб-приложения) - этоиспользуйте метод Response.WriteFile :

Response.WriteFile("Path To File");
6 голосов
/ 24 июля 2010

попробуйте это:

byte[] buff = System.IO.File.ReadAllBytes(open.FileName);
System.IO.MemoryStream ms = new System.IO.MemoryStream(buff);
2 голосов
/ 24 июля 2010

Да, можно создать изображение

var img = Image.FromFile(/*path*/);

или в потоке

var file = new FileStream("path to file", FileMode.Open);

Но горячо, его нужно отправить, решать вам

sendToWs (IMG)

...