Ho un piccolo server HTTP qui scritto in C# e fino ad ora ho solo bisogno di inviare il testo non elaborato al mittente. Ma ora devo inviare un'immagine JPG e non riesco a capire come.C# invia l'immagine su HTTP
questo è quello che ho adesso:
// Read the HTTP Request
Byte[] bReceive = new Byte[MAXBUFFERSIZE];
int i = socket.Receive(bReceive, bReceive.Length, 0);
//Convert Byte to String
string sBuffer = Encoding.ASCII.GetString(bReceive);
// Look for HTTP request
iStartPos = sBuffer.IndexOf("HTTP", 1);
// Extract the Command without GET_/ at the beginning and _HTTP at the end
sRequest = sBuffer.Substring(5, iStartPos - 1 - 5);
String answer = handleRequest(sRequest);
// Send the response
socket.Send(Encoding.UTF8.GetBytes(answer));
penso di dover fare una sorta di FileStream invece di una stringa, ma ho davvero nessuna colla ..
Puoi pubblicare una parte del vostro metodo di handleRequest? Sto indovinando che è dove si sta costruendo l'oggetto HTTP Response che verrà inviato al browser che effettua la richiesta. Dovrai capire come modificarlo per supportare le immagini. –
Ho un po 'di colla se si vuole prendere in prestito:/ – jlafay
@ Martin se stai leggendo dal file puoi semplicemente chiamare socket.SendFile. vedere qui (msdn.microsoft.com/en-us/library/sx0a40c2.aspx –