Seite 2 von 2

Re: Dateien vom Webserver senden per XB2.NET

Verfasst: Mi, 06. Okt 2010 8:24
von brandelh
Hi,

ja, File2Str() nutze ich, weil irgendwann einmal jemand geschrieben hat, memoread() wäre
vom charset abhängig, das kann ich zwar bis heute nicht erkennen, aber man weiß ja nie ;-)
Die Funktion nutzt fopen() fread() etc und steht - meine ich - auch in der Wissensbasis.

Die Größe entspricht der Länge der PDF in der Speichervariablen cPDF, die auch übergeben wird.
Es kann sein, dass dies nicht genau gleich ist wie auf dem Datenträger (Sektoren ...).

Re: Dateien vom Webserver senden per XB2.NET

Verfasst: Sa, 09. Okt 2010 1:08
von ramses
Hallo

@Martin, danke für den Typ mit der Fehlermeldung (404)

Verschwende nicht allzuviel Zeit mit dem Header Feld Content-Length, denn wenn du die Rückgabe über die Objekt Variable r:Content = zurückgibst setzt das Objekt (xb2Net) den Wert automatisch mit dem richtigen Wert, egal was du vorher da reingeschrieben hast.

Für den Download habe ich noch zwei andere Variablen gefunden die helfen den Traffic zu verkleinern, hilft besonders wenn die Upload - Rate nicht allzuhoch ist. Ich habe im HTTP_Server nach dem setzten des CompressLevels folgende beiden Variablen gesetzt:

soServer:CompressHttp10 := .t.
soServer:CompressTypes += "application/pdf;text/css;" // Erweitern um pdf / css

Bei meinem Versuch mit einer PDF wurde der Traffic dann um 40% kleiner. Toll, muss eh mit dem Traffic kämpfen.

Die MemoRead() Funktion hat mir früher grosse Probleme bereitet, bis ich Sie als Ursache erkannt habe, ich verwende Sie seit Jahren grundsätzlich nicht mehr. (Nur oben zum Test) Ich habe mir eine eigene Funktion gebaut die mit FileStr() aus den Tools in einer Schlaufe die Datei einliest und mit der Filelänge vergleicht und evtl. bei ungleicher Länge erneut das Lesen versucht.
Das Problem war dass wenn im Netzwek mehrere User gleichzeitig die Datei lesen wollten immer einer oder mehrere einen NullString zurückbekamen.



@Hubert

Ich habe die Vorgabe dem Nutzer die PDF anzuzeigen damit er Sie primär sofort ohne weitere Klickerei Ausdrucken kann, das Speichern ist nur Sekundär gewollt, die wenigsten Benutzer Speichen dann die PDF noch. Ab und zu mal die Chefs oder der QM-Typ, zur Dokumentation bestimmter Abläufe, deshalb ist es mir ja so wichtig dass der Dateiname passt.


Gruss Carlo

Re: Dateien vom Webserver senden per XB2.NET

Verfasst: Sa, 09. Okt 2010 1:53
von Martin Altmann
Moin Carlo,
keine Sorge - Content-Length habe ich wieder verworfen, da der Browser tatsächlich die korrekte Größe mitbekommt. Stelle jetzt auch das Memoread() auf File2Str() um.
Muss sowieso das ganze Mailing per See4XB umstellen, da das mit den Threads so nicht klappt - da mache ich das in dem Zug gleich mit.

Viele Grüße,
Martin

Re: Dateien vom Webserver senden per XB2.NET

Verfasst: Fr, 01. Jul 2016 19:26
von Stephan Borst
Hallo,
Mein problem mit senden von ein PDF von WebServer nach ein Browser hab ich im attachment erklart.

Diesem Topic ist alt, aber vielleicht hat jemand neues ideen bekommen.

Gruß, Stephan

Re: Dateien vom Webserver senden per XB2.NET

Verfasst: Fr, 01. Jul 2016 21:21
von Martin Altmann
Nun,
Du musst Mime-encoding setzen und wahrscheinlich application/pdf (oder so ähnlich) angeben!
Bin gerade im Urlaub und kann es nicht prüfen.

Google is your friend: http://stackoverflow.com/questions/3122 ... -pdf-files

Viele Grüße,
Martin