Techster Skrevet 14. januar 2010 Del Skrevet 14. januar 2010 Jeg forsøker å få til et system hvor jeg kan laste ned filer via en hvilken som helst browser. Klarer ikke helt å forstå hvordan httplistener skal respondere på henvendelsen. Det funker ikke å bare skrive filedataen til output stream på respons objektet. Noen innspill? Lenke til kommentar
GeirGrusom Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Har du satt opp headerne riktig? Lenke til kommentar
Techster Skrevet 15. januar 2010 Forfatter Del Skrevet 15. januar 2010 Sikkert ikke. Dette ,http://support.microsoft.com/kb/260519, er vel bare gyldig for ie? Men utover det vet jeg ikke noe mer om hvordan headerene skal settes opp. Har forsøkt å se på dokumentasjonen for HTTP, men fant ikke (les: vet kanskje ikke helt hva jeg ser etter) noe info jeg kunne bruke. Hvilke headere trengs? Lenke til kommentar
GeirGrusom Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 (endret) Content-type kanskje. http://en.wikipedia.org/wiki/List_of_HTTP_headers Etter å ha lest litt, skal data som skal identifiseres av mottakeren ikke ha noen Content-type header. Det kan muligens fungere med Content-type: application/octet-stream Men jeg vet ikke. Endret 15. januar 2010 av GeirGrusom Lenke til kommentar
kaffenils Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Har forsøkt å se på dokumentasjonen for HTTP, men fant ikke (les: vet kanskje ikke helt hva jeg ser etter) noe info jeg kunne bruke.Hvis du bruker Opera så kan du gå til "Verktøy->Avansert->Utviklerverktøy". Velg "Nettverk" i viduet som kommer opp, der kan du se hvordan respons-header ser ut når du laster ned en fil fra en eller annen webside. Dette bør gi deg en pekepinn på hvordan du skal løse det. Skulle gjerne hjulpet deg mer, men jeg kjenner ikke detaljer rundt http veldig godt. Lenke til kommentar
Techster Skrevet 15. januar 2010 Forfatter Del Skrevet 15. januar 2010 Den "konsollen" i Opera var genial. Kommer tilbake til hva jeg finner ut. Lenke til kommentar
kaffenils Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Den "konsollen" i Opera var genial.Kommer tilbake til hva jeg finner ut. Opera ER genial. Den mest geniale web-browseren spør du meg Lenke til kommentar
Techster Skrevet 15. januar 2010 Forfatter Del Skrevet 15. januar 2010 Etter noe testing ser det ut som dette er alt som skal til: HttpListener http = (HttpListener)iar.AsyncState; HttpListenerContext context = http.EndGetContext(iar); // Denne er ikke nødvendig, men hvis filename er angitt dukker det automatisk opp i // "Save as.." dialogen. context.Response.AddHeader("Content-Disposition", "attachment; filename=foobar.exe"); context.Response.OutputStream.Write(File.ReadAllBytes("C:\\foobar.exe"), 0,(int)fi.Length); context.Response.Close(); // Sender responsen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå