2010-07-24 15 views
8

wczytuję obraz przy użyciuŁadowanie obrazu do FILESTREAM

OpenFileDialog open = new OpenFileDialog(); 

Po wybraniu pliku „open” jest wypełniana z kilku elementów, w tym ścieżki.

Teraz chciałbym załadować plik do strumienia strumieniowego (lub czegoś podobnego) do wysłania za pośrednictwem usługi sieciowej ... czy jest to możliwe?

dzięki

+0

Tak, jest to możliwe. Jakieś inne pytania? – Oded

+0

Ryzykując nadwyrężeniem moich zdolności psychicznych, podejrzewam, że człowiek w jamie ustnej może rzeczywiście szukać wskazówek, jak załadować plik. W takim przypadku mogą zajrzeć tutaj: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/e2f183aa-307e-463d-b846-1ad6418848a3 –

+0

:) steven, i udało się załadować plik, np. udało mi się załadować obraz do ramki graficznej, ale chciałbym, żeby jakiś kod ładował go na strumień plików – mouthpiec

Odpowiedz

6

można otworzyć plik z FileStream:

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

można następnie przekazać to aż do usług internetowych kontekście http Response.OutputStream nieruchomości. Nadal będzie trzeba ustawić odpowiedni typ MIME i różnych nagłówków, ale to działa dobrze:

HttpContext.Current.Response.OutputStream = file; 

Mimo, że najprostszym sposobem, aby wysłać plik z usługi internetowej (lub aplikacji internetowej) jest użycie Response.WriteFile metoda:

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

Co powinienem zrobić, jeśli "ścieżka do pliku" jest osadzoną BMP? – warmth

+0

@warmth - uzyskaj dostęp do pliku osadzonego jako strumień i przenieś go do strumienia wyjściowego. – Oded

2

Tak to jest możliwe, aby utworzyć obraz

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

lub na strumień

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

Ale gorąco należy wysłać to do ciebie, aby zdecydować

sendToWs (IMG)

+0

jeśli obraz będzie bitmapą, czy zostanie zapisany w bitmapie? lub jeśli jest to jpeg, wypełnij go zapisanym w jpeg i tak dalej? – mouthpiec

+0

Obraz jest klasą abstrakcyjną, która zapewnia funkcjonalność bitmap i metapliku. Zapisywanie obrazu Korzystasz z metody satystycznej zapisz Image.Save (ścieżka, format), gdzie format jest formą ImageFormat –

6

Spróbuj tego:

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

czy można odtworzyć dokument z buff? – mouthpiec

+0

Udało mi się przekonwertować na bitmapę za pomocą normalnego konstruktora "nowej bitmapy()" – mouthpiec

Powiązane problemy