Dateien vom Webserver senden per XB2.NET

Xb2.Net von Boris Borzic

Moderator: Moderatoren

Re: Dateien vom Webserver senden per XB2.NET

Beitragvon brandelh » Mi, 06. Okt 2010 7:24

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 ...).
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13195
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Dateien vom Webserver senden per XB2.NET

Beitragvon ramses » Sa, 09. Okt 2010 0:08

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
ramses
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 347
Registriert: Mi, 28. Jul 2010 16:16

Re: Dateien vom Webserver senden per XB2.NET

Beitragvon Martin Altmann » Sa, 09. Okt 2010 0:53

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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12687
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Dateien vom Webserver senden per XB2.NET

Beitragvon Stephan Borst » Fr, 01. Jul 2016 18:26

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
Dateianhänge
ViewPDFdocuments.pdf
(238.22 KiB) 36-mal heruntergeladen
Stephan Borst
Rookie
Rookie
 
Beiträge: 3
Registriert: Mi, 15. Jun 2016 9:33

Re: Dateien vom Webserver senden per XB2.NET

Beitragvon Martin Altmann » Fr, 01. Jul 2016 20:21

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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12687
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Vorherige

Zurück zu Xb2.Net

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast