2010-07-24 2 views
8

Я загрузки изображения с помощьюЗагрузка изображения в FileStream

OpenFileDialog open = new OpenFileDialog(); 

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

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

благодарит

+0

Да, это возможно. Другие вопросы? – Oded

+0

С риском стресса моих психических способностей я подозреваю, что аппетит действительно может найти какой-то намек на то, как загрузить файл. Если бы это было так, они могли бы посмотреть здесь: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/e2f183aa-307e-463d-b846-1ad6418848a3 –

+0

:) steven, i удалось загрузить файл, например, мне удалось загрузить изображение в окно с изображением, но мне бы хотелось, чтобы какой-то код загрузки его на файл – mouthpiec

ответ

6

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

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

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

HttpContext.Current.Response.OutputStream = file; 

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

Response.WriteFile("Path To File"); 
+0

Что делать, если этот путь к файлу является встроенным BMP? – warmth

+0

@warmth - доступ к встроенному файлу в виде потока и передача его в выходной поток. – Oded

2

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

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

или в поток

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

Но горячая следует отправить это до вас, чтобы решить

sendToWs (IMG)

+0

Если изображение будет растровым, будет ли оно сохранено в растровом изображении? или если это jpeg, заполните его, чтобы сохранить его в jpeg и т. д.? – mouthpiec

+0

Изображение представляет собой абстрактный класс, который обеспечивает функциональность для Bitmap и Metafile. Для сохранения изображения Вы используете сататический метод save Image.Save (путь, формат), где формат является формой ImageFormat –

6

попробовать это:

byte[] buff = System.IO.File.ReadAllBytes(open.FileName); 
System.IO.MemoryStream ms = new System.IO.MemoryStream(buff); 
+0

Можно ли воссоздать документ из buff? – mouthpiec

+0

Мне удалось преобразовать в растровое изображение, используя обычный «новый битмап()» конструктор – mouthpiec

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