login  Naam:   Wachtwoord: 
Registreer je!
 Forum

HTTP Headers (Opgelost)

Offline cyberninjah - 08/11/2011 11:07
Avatar van cyberninjahLid Beste,

Ik probeer in .NET een webinterface te maken voor me applicatie nu gaat dit prima maar heb alleen een probleem met het laden van plaatjes.

Hij blijft maar aangeven dat me plaatje corupt is.

Ik gebruik de Volgende Header structuur.

  1. string msg = "";
  2. msg += "HTTP/1.0 200 OK" + System.Environment.NewLine;
  3. msg += "Server: MyOwnServer" + System.Environment.NewLine;
  4. msg += "Content-Length: " + new FileInfo(path).Length + System.Environment.NewLine;
  5. msg += "Content-Type: image/png" + System.Environment.NewLine;
  6. msg += "Content-Disposition: inline;filename=\"" + filename + System.Environment.NewLine + System.Environment.NewLine;
  7. msg += "Connection: close " + System.Environment.NewLine;
  8. outputStream.Write(msg);


Vervolgens lees ik het plaatje als volgt.

  1. string line = "";
  2. StreamReader file = new StreamReader(Environment.CurrentDirectory + "/httdocs/" + p.http_url);
  3. while ((line = file.ReadLine()) != null)
  4. {
  5. p.outputStream.WriteLine(line);
  6. }



Iemand een idee wat ik fout doe ?

6 antwoorden

Gesponsorde links
Offline Maarten - 08/11/2011 11:13
Avatar van Maarten Erelid Weet niet direct wat de reden is, maar ik zie wel:
  1. msg += "Content-Disposition: inline;filename=\"" + filename + System.Environment.NewLine + System.Environment.NewLine;

Sluitings-" vergeten.
Offline cyberninjah - 08/11/2011 11:51
Avatar van cyberninjah Lid Die is toch niet nodig ?
Offline Ontani - 08/11/2011 11:53
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
je doet filename="bestandsnaam maar je sluit deze niet: filename="bestandsnaam"
Offline cyberninjah - 08/11/2011 11:57 (laatste wijziging 08/11/2011 15:12)
Avatar van cyberninjah Lid o daar

gevalletje goedemorgen zeg sorry


Momenteel heb ik dit probleem al opgelost.

Omdat het een plaatje is moet je het binair lezen en dus opslaan in een Byte array en vervolgens als bytes versturen naar de streamwriter.

  1. string filename = p.http_url.Substring(p.http_url.LastIndexOf("/"));
  2. p.writeImageHeader(Environment.CurrentDirectory + "/httdocs" + p.http_url, filename);
  3.  
  4. byte[] fileBytes = File.ReadAllBytes(Environment.CurrentDirectory + "/httdocs/" + p.http_url);
  5.  
  6. foreach (byte b in fileBytes)
  7. {
  8. p.outputStream.BaseStream.WriteByte(b);
  9. }


Deze code werkt nu wel met de boven al eerder getoonde header's
Offline BrantCaseyxy - 29/05/2012 04:12 (laatste wijziging 29/05/2012 08:17)
Avatar van BrantCaseyxy 0 je doet filename="bestandsnaam maar je sluit deze niet: filename="bestandsnaam"
Offline Pieter - 29/05/2012 10:22
Avatar van Pieter Gouden medaille

SEO guru
@BrantCaseyqy, je reageert op een oud topic, die bovendien al opgelost is. Dat is niet nuttig.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.178s