web-dev-qa-db-fra.com

Comment mettre en œuvre Content-Disposition: pièce jointe?

J'essaie de faire en sorte que les mp3 sur mon site soient téléchargés par un clic gauche au lieu d'avoir à faire un clic droit et à enregistrer sous, donc pour ce faire, je dois définir la pièce jointe Content-Disposition :. Ceci est mon premier site Web, donc je suis nouveau sur la façon de le faire, mais dois-je le faire dans mon balisage html ou dois-je définir cela en quelque sorte avec mon site d'hébergement?

Voici un exemple de l'apparence de mon balisage.

<div class="download">
<a href="MP3/Morgan Page, Sultan & Ned Shepard, and BT feat. Angela McCluskey.mp3" 
<img src="img/dlicon.png"/></a>
</div>
15
Jean Hules

Exemple de listes MP3:

<a href="download.php?file=testing.mp3">Download MP3</a>
<a href="download.php?file=testing2.mp3">Download MP3</a>

download.php:

<?php

$file = $_GET['file'];  

header('Content-type: audio/mpeg');

header('Content-Disposition: attachment; filename="'.$file.'"');

?>
22
Zulkhaery Basrul

Comme d'autres l'ont dit, vous ne le faites pas en HTML, et une solution dynamique (par exemple, en utilisant PHP) est exagérée.

Dans votre cas, je configurerais l'en-tête Content-Disposition dans la configuration du serveur Web. Pour Apache, vous pouvez définir l'en-tête en fonction de l'emplacement , ou avoir un fichier . Htaccess qui correspond à certains noms de fichiers.

3
user3468501

Il y a aussi une fonction spéciale pour cela en PHP:

bool http_send_content_disposition ( string $filename [, bool $inline = false ] )

Voir Manuel PHP ici: http://de2.php.net/manual/en/function.http-send-content-disposition .php

1
gruentee