login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > Csharp.NET

HTTP Headers (Opgelost)

cyberninjah – 08/11/2011 11:07
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 ?

4 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

Maarten – 08/11/2011 11:13
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.

cyberninjah – 08/11/2011 11:51
Die is toch niet nodig ?

Ontani – 08/11/2011 11:53
je doet filename="bestandsnaam maar je sluit deze niet: filename="bestandsnaam"

cyberninjah – 08/11/2011 11:57 (Laatst gewijzigd op 08/11/2011 15:12)
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

Gesponsorde links

Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.05s