2010-01-21 9 views
28

So come modificare il tipo MIME in un server web. L'ho usato per assicurarmi che il browser scarica il mio file .scrpt invece di aprire la versione in testo normale. Fin qui tutto bene ma è possibile fare lo stesso con un link? Vorrei collegarmi a un file su GitHub ma questo si aprirà come un file di testo normale. Posso aggiungere un "attributo di tipo MIME" al link per dire al browser di scaricare il file?Aggiungere il tipo mime al collegamento HTML

questo è quello che vorrei vedere:

<a mimetype="application/octet-stream" href="http://gist.github.com/raw/279094/39d5a2c1037288d5ee0ba1a17dca9edb368bbe42/RepairiPhotoDates.scpt">download</a> 
+2

Il tipo MIME non determina se un file viene visualizzato o scaricato. È il browser a decidere questo, in base al tipo MIME e all'intestazione Content-Disposition. – Thomas

+0

Ho lo stesso problema: il tipo MIME per i file che voglio servire non è impostato dalla mia società di hosting, e non c'è modo di cambiarlo. Non c'è davvero modo di dire al browser nel link che cosa sta per scaricare? – James

risposta

29

È ora di rispondere alla mia domanda. Questa è una domanda molto vecchia e probabilmente non era possibile al momento, ma da allora sono cambiate molte cose. Le specifiche HTML5 aggiunto l'attributo download:

<a href="hugepdf.pdf" download>Download file</a> 

Questo farà esattamente quello che mi serve, dire al browser di scaricare il file invece di aprirlo. Grazie a Jonathan Svärdén per aver risolto la mia vecchia domanda!

+1

[Che è deprimente però] (http://caniuse.com/#search=download) – JensG

+0

@Cimm Puoi dire come cambiare il tipo MIME nel server web – Muthu

+0

@muthu Che dipende dal server web. Ti suggerisco Google " tipo MIME" e fai un'altra domanda su SO se questo non risolve la tua domanda. Questo non è il posto giusto per fare questa domanda. – Cimm

13

È possibile specificare un type attribute, ma il tipo di contenuto inviato dal server è autorevole.

Questo attributo fornisce un suggerimento di consulenza sul tipo di contenuto del contenuto disponibile all'indirizzo di destinazione del collegamento. Consente agli agenti utente di optare per l'utilizzo di un meccanismo di fallback piuttosto che per recuperare il contenuto se viene consigliato che otterrà contenuto in un tipo di contenuto che non supportano.

A parte questo, no, non è possibile.

+0

Ho provato questo ma non funziona. Come hai spiegato ... Grazie per la chiara spiegazione. – Cimm

0

HTML non riguarda le intestazioni di risposta HTTP. Questo è assolutamente un problema lato server, che deve essere risolto nelle intestazioni di risposta HTTP prima che venga inviato il corpo di risposta HTTP (/ content?). Senza un linguaggio di scripting come Ruby o PHP non c'è nulla che tu possa fare.

1

È possibile impostare uno script middleman che scarica il file in questione sul server, quindi lo carica all'utente con un tipo MIME diverso?