Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Anmeldungen zum Forentreffen 2018 sind auf der Anmeldeseite möglich
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Dateien vom Webserver senden per XB2.NET

Xb2.Net von Boris Borzic

Moderator: Moderatoren

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13811
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Dateien vom Webserver senden per XB2.NET

Beitrag von brandelh » Mi, 06. Okt 2010 8: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

ramses
1000 working lines a day
1000 working lines a day
Beiträge: 730
Registriert: Mi, 28. Jul 2010 17:16

Re: Dateien vom Webserver senden per XB2.NET

Beitrag von ramses » Sa, 09. Okt 2010 1: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

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 13749
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: Dateien vom Webserver senden per XB2.NET

Beitrag von Martin Altmann » Sa, 09. Okt 2010 1: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.

Stephan Borst
Rookie
Rookie
Beiträge: 5
Registriert: Mi, 15. Jun 2016 10:33

Re: Dateien vom Webserver senden per XB2.NET

Beitrag von Stephan Borst » Fr, 01. Jul 2016 19: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) 46-mal heruntergeladen

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 13749
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: Dateien vom Webserver senden per XB2.NET

Beitrag von Martin Altmann » Fr, 01. Jul 2016 21: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.

Antworten