Thursday 6 April 2017

Content Disposition Binär Optionen


Ich versuche, ein PDF im Browser zu sehen, wenn möglich - und ich weiß, dass ich das in Chrome machen kann, was ich im Test treibe. Das Problem ist, jedes Mal, wenn ich es versuche, lädt es stattdessen einen Download ein. Im mit PHP-Sessions, so dass ich weiß, gibt es einige externe Header gesendet werden, so rief ich headerremove (), um alles zurückzusetzen. Ich nenne diese Funktion, um das PDF zu zeigen: Das sind die Header, die gesendet werden: Es ist immer noch ein Download. Sobald es heruntergeladen ist, kann ich es im Adobe Reader ganz gut öffnen. Ich vermisse etwas MarcB: Der Benutzer hat beide Optionen, aber der Client möchte, dass er aus dem Browser sichtbar ist. Ich kann auf PDFs direkt in meinem Chrome Browser zugreifen. Es muss ein Header-Problem geben, denn wenn ich irgendwelche PDFs mit Chrome ansehen kann, dann muss ich in der Lage sein, die Anzeige eines anderen PDF zu simulieren. Muss ich das REQUESTURI in die PDF-Datei verlängern, vielleicht das ist ein Schmerz. Ndash M Miller Okt 8 13 bei 18: 52Wie zum Erstellen einer Multipartform-Daten POST-Anforderung Brauchen Sie, um eine POST-Anfrage zu erstellen, die eine Datei hochlädt, die ich heute Nachmittag verbracht habe, um herauszufinden, wie man aussieht. Dieses Dokument enthält eine Vorlage, die für mich erfolgreich war. POST pathtoscript. php HTTP1.0 Host: Beispiel Inhaltstyp: multipartform-data, boundaryAaB03x Inhalt-Länge: requestlen --AaB03x content-disposition: form-data namequotfield1quot field1 --AaB03x content-disposition: form-data namequotfield2quot field2 - AaB03x content-disposition: form-data namequotuserfilequot filenamequotfilenamequot Content-Type: mimetype Content-Transfer-Encoding: binary Beachten Sie, dass Sie den Content-Length-Header generieren müssen, nachdem Sie den Körper der Anfrage generiert haben (von der ersten --AaB03x down, Einschließlich der Datei-Daten), so dass die Sache in der Praxis zu tun ist, um den Körper zuerst zu bauen, bekommen die Strlen (), und dann bauen die Header auf die Vorderseite des Körpers. Siehe RFC1867 - Formularbasierte Datei Upload in HTML (faqs. orgrfcsrfc1867.html) für weitere Informationen über das Format der quotmultipartform-dataquot Beiträge. Viel Glück (wie auf der Fsockopen Seite des PHP Manuals von mir gepostet.) Von Chris Snyder am Freitag, 28. März 2003Ive hat eine Anwendung in Angular JS für das Herunterladen einer Excel-Arbeitsmappe durch http-Post erstellt. In dem unten genannten Code Im übergeben die Informationen in Form von JSON. Und senden Sie es an den Server REST Web Service (Java) durch eine eckige HTTP Post. Der Web Service nutzt die Informationen aus dem JSON und produziert eine Excel-Arbeitsmappe. In der Antwort innerhalb des Erfolgs Körper von http Post, Im immer binäre Daten innerhalb dieser Datenvariable, aber nicht wissen, wie man es konvertieren und als Excel-Datei herunterladen. Kann jemand bitte mir sagen, einige Lösung für diese für die Umwandlung der binären in Excel-Datei und Download Mein Code ist wie unten angegeben: gefragt Mar 17 14 um 6:08 Just bemerkt Sie können es nicht verwenden, weil IE89 aber Ill Push submit sowieso. Vielleicht findet jemand es nützlich Dies kann tatsächlich durch den Browser gemacht werden, mit Blob. Beachten Sie den responseType und den Code in der Erfolgsversprechen. Es gibt einige Probleme mit ihm aber wie: Es stützt nicht IE 8 und 9: Es öffnet ein Pop-up-Fenster, um das objectUrl zu öffnen, welches Leute gesperrt haben könnte Generiert seltsame Dateinamen Es hat funktioniert Der Server-Side-Code in PHP Ich testete dies mit sieht aus wie Dies. Im sicher können Sie ähnliche Header in Java setzen: Edit 20.04.2016 Browser machen es schwieriger, Daten auf diese Weise zu speichern. Eine gute Möglichkeit ist, filesaver. js zu verwenden. Es bietet eine Cross-Browser-Implementierung für saveAs. Und es sollte einige der Code in der Erfolgsversprechen oben ersetzen. Jorg in der Screenshot der Excel Sie oben geteilt haben, der Text in das Feld, dh quotmy contentquot, ist es über die Breite der Zelle, gibt es eine Option, durch die ich die Optionen wie Standard-Spalte-Breite oder Word-Wrap setzen können Das Problem, mit dem ich konfrontiert bin, ist, dass beim Drucken einer Datei wie Ihre oben, die Daten wird abgeschnitten, wenn es mehrere Spalten und die Breite der Daten ist mehr als die Breite der Spalte. Viel Dank ndash Mitaksh Gupta Aug 11 15 at 11:43 Es gibt keine Möglichkeit (meines Wissens), das Download-Fenster in Ihrem Browser aus Javascript auszulösen. Der einzige Weg, es zu tun ist, um den Browser zu einer URL, die die Datei an den Browser streckt, umzuleiten. Wenn Sie Ihren REST-Service ändern können, können Sie es in der Lage sein, es zu beheben, so dass die POST-Anfrage nicht mit der Binärdatei reagiert, sondern mit einer URL zu dieser Datei. Das bekommst du die URL in Javascript anstelle der Binärdaten, und du kannst den Browser zu dieser URL umleiten, die den Download auffordern soll, ohne die Originalseite zu verlassen. Antwortete Mar 17 14 um 6:55 Ich stand vor diesem Problem. Lassen Sie mich Ihnen sagen, wie ich es gelöst und alles erreicht, was Sie alle zu sein scheinen. Muss eine Schaltfläche (oder Link) zu einer Datei - (oder einen generierten Speicher Stream) Muss auf die Schaltfläche klicken und die Datei herunterladen In meinem Service, (Im mit Asp Web API) habe ich einen Controller, der eine HttpResponseMessage zurückgibt. Ich füge einen StreamContent zum answer. Content-Feld hinzu, setze die Header auf Applicationoctet-Stream und füge die Daten als Anhang hinzu. Ich gebe es sogar einen Namen myAwesomeFile. xlsx Jetzt heres den Trick) Ich speichere die Basis-URL in einer Textdatei, die ich in eine Variable in einem Winkelwert namens apiRoot lese. Ich mache dies, indem ich es deklariere und dann auf die Run-Funktion des Moduls stelle, so wie es so ist: So kann ich die URL in einer Textdatei auf dem Server setzen und mir nicht darum kümmern, es in einem Upload zu verschütten. (Sie können es immer wieder aus Sicherheitsgründen ändern - aber das nimmt die Frustration aus der Entwicklung heraus)) Und JETZT die Magie: Alle Im tun ist die Schaffung eines Links mit einer URL, die direkt auf meine Service-Endpunkt und zielt auf eine leere. Die geheime Soße ist die Funktion, die das href setzt. Sie sind bereit für diese Auch in einer Situation, wo Sie über viele Datensätze, die Dateien zum Download iterating haben, füttern Sie einfach die ID an die Funktion und die Funktion generiert die URL an den Service-Endpunkt, der die Datei liefert. Hope this helpsGeben Sie einen Anhang Content-Disposition Header Wert mit dem angegebenen Dateinamen, falls vorhanden. Der Dateiname ist optional und wenn kein Dateiname gewünscht wird, aber Sie möchten Optionen angeben. Den Dateinamen auf undefined setzen. Anmerkung HTTP-Header sind vom ISO-8859-1-Zeichensatz. Wenn du diesen Header durch ein anderses als setHeader in Node. js schreibst, kannst du die Binärcodierung in Node. js. ContentDisposition akzeptiert diese Eigenschaften im Optionsobjekt. Wenn die Dateiname-Option außerhalb von ISO-8859-1 liegt, wird der Dateiname tatsächlich in einem ergänzenden Feld für Clients gespeichert, die Unicode-Dateinamen unterstützen und eine ISO-8859-1-Version des Dateinamens automatisch generiert wird. Hiermit wird der ISO-8859-1-Dateiname angegeben, um die automatische Generierung zu überschreiben oder die Generierung alle zusammen zu deaktivieren. Ein String spezifiziert den ISO-8859-1-Dateinamen, der anstelle der automatischen Generierung verwendet werden soll. False deaktiviert einen ISO-8859-1-Dateinamen und enthält nur die Unicode-Version (es sei denn, der Dateiname ist bereits ISO-8859-1). True ermöglicht die automatische Generierung, wenn der Dateiname außerhalb von ISO-8859-1 liegt. Wenn die Dateiname-Option ISO-8859-1 ist und diese Option angegeben ist und einen anderen Wert hat, wird die Dateiname-Option im erweiterten Feld codiert und diese als Fallback-Feld gesetzt, obwohl sie beide ISO-8859-1 sind. Gibt den Dispositionstyp an, wird standardmäßig angehängt. Dies kann auch inline sein. Oder alle anderen Werte (alle Werte außer Inline werden wie Attachment behandelt, können aber zusätzliche Informationen übermitteln, wenn beide Parteien damit einverstanden sind). Der Typ wird auf Kleinbuchstaben normiert. Analysieren Sie einen Content-Disposition-String. Dies verarbeitet automatisch erweiterte (Unicode) Parameter, indem sie sie decodiert und sie unter dem Standardparameternamen versorgt. Dadurch wird ein Objekt mit den folgenden Eigenschaften zurückgegeben (Beispiele werden für den String Anhang DateinameEURO rates. txt DateinameUTF-8e282ac20rates. txt angezeigt): type. Die Dispositionstyp (immer Kleinbuchstaben). Beispiel: anhangparameter Ein Objekt der Parameter in der Disposition (Name des Parameters immer Kleinbuchstaben und erweiterte Versionen ersetzen nicht erweiterte Versionen). Beispiel: Senden einer Datei zum Download

No comments:

Post a Comment