MIME-Typ zum HTML-Link hinzufügen
Ich weiß, wie man ändern Sie den MIME-Typ im webserver. Ich verwendet, um sicherzustellen, dass der browser lädt meine .Skript-Datei, anstatt Sie zu öffnen, das nur-text-version. So weit So gut, aber ist es möglich, das gleiche tun mit einem link? Ich möchte eine Verknüpfung zu einer Datei auf GitHub, aber das öffnen einer einfachen text-Datei. Kann ich ein "MIME-type-Attribut" dem link zu dem browser mitzuteilen, um die Datei herunterzuladen?
Dies ist, was ich gerne sehen würde:
<a mimetype="application/octet-stream" href="http://gist.github.com/raw/279094/39d5a2c1037288d5ee0ba1a17dca9edb368bbe42/RepairiPhotoDates.scpt">download</a>
Kommentar zu dem Problem - Öffnen
Der MIME-Typ nicht bestimmen, ob eine Datei angesehen oder heruntergeladen werden. Es ist der browser, entscheidet dieses, auf der Grundlage der MIME-type und die Content-Disposition-header.
Ich habe das gleiche problem: Der MIME-Typ für die Dateien, die ich will, zu dienen, ist nicht durch mein hosting-Unternehmen, und es gibt keine Möglichkeit, das zu ändern. Gibt es wirklich keine Möglichkeit zu sagen, die browser in den <a...> link, was es nun mit dem download?
InformationsquelleAutor der Frage Cimm | 2010-01-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zeit zur Beantwortung meiner eigenen Frage. Dies ist eine wirklich alte Frage, und es war wohl nicht möglich zu der Zeit, aber viel hat sich seitdem verändert. Die HTML5-Spezifikation Hinzugefügt, die
download
Attribut:Dieser wird genau das tun, was ich brauche, sagen Sie den browser, um die Datei herunterzuladen, anstatt es zu öffnen. Dank Jonathan Svärdén für die Lösung meiner Jahre alte Frage!
InformationsquelleAutor der Antwort Cimm
Können Sie eine type-Attribut, aber der content-type gesendet durch den server autorisierend ist.
Andere als das, Nein, das können Sie nicht.
InformationsquelleAutor der Antwort Quentin
Einen Zwischenhändler-Skript, welches die Datei herunterlädt in Frage, auf den server, dann lädt es den Benutzer mit einem anderen MIME-Typ hat?
InformationsquelleAutor der Antwort doppelgreener
HTML-Code nicht besorgt über den HTTP-Antwort-Header. Das ist absolut ein Serverseitiges problem, das gelöst werden muss in der HTTP-response verwendet-Header, bevor die HTTP-response body(/content?) gesendet wird. Ohne eine Skriptsprache wie Ruby oder PHP gibt es nichts, was Sie tun können.
InformationsquelleAutor der Antwort Martin Labuschin