Stai lavorando su un server Apache? Se è così, si può semplicemente aggiungere questo al vostro file .htaccess:
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{QUERY_STRING} fdl=1
RewriteRule .? - [T=application/octet-stream]
controlli per vedere che è un file Controlla se il parametro FDL = 1 è in querystring uscita come octet-stream/forza scaricare
ora, quando si desidera che il browser per iniziare a scaricare qualsiasi cosa in quel sito, basta mettere il parametro sulla url:
<a href="img.jpg?fdl=1">Download Image</a>
di fare la stessa cosa su un server Windows IIS aggiungere la regola in uscita per il web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Force Download">
<match serverVariable="RESPONSE_Content_Disposition" pattern=".?" negate="false" />
<action type="Rewrite" value="application/octet-stream" replace="true" />
<conditions>
<add input="{QUERY_STRING}" pattern="fdl=1" />
</conditions>
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
EDIT (2016/10/04):
Sembra che l'attributo download
è ancora not fully adopted da tutti i browser.
Per un'implementazione basata su JavaScript/browser, è possibile visualizzare FileSaver.js che è un polifratura per il salvataggio della funzionalità nei browser che non lo supportano. Tuttavia non ha una copertura perfetta.
fonte
2016-01-19 22:06:50
Modificare le intestazioni che vengono servite con l'immagine. –
@RichBradshaw Grazie per la risposta veloce! Ora ho il trucco, come http://www.electrictoolbox.com/image-headers-php/ Ma c'è un modo semplice per gestire le intestazioni con link semplice e dopo che è stato premuto? Perché ora ho link come 'Download' –
No, l'attributo download è piuttosto nuovo e non è supportato in molti posti. –