2010-10-13 6 views
1

привет, я создаю сайт, где я могу загружать свои собственные mp3-файлы. Итак, у меня есть файл, загруженный на сервер, и когда я ссылаюсь на него, браузер воспроизводит песню. Возможно ли это сделать, когда ссылка нажата, она загружает файл, а не воспроизводит его.Загружаемые файлы Mp3

Например, www.example.com/music/song.mp3 один раз щелкнул его, вместо того чтобы играть.

Возможно, это может быть сделано в JavaScript?

Большое спасибо.

+2

Это очень широкий вопрос. Во всяком случае, это невозможно сделать с использованием чистого Javascript. Вам понадобится язык на стороне сервера и укажите здесь, какой из них вы можете использовать –

+0

. Если это язык, с которым вы уже знакомы, это можно сделать только с использованием JavaScript, используя что-то вроде node.js (http: // nodejs .org) на стороне сервера. –

ответ

1

Вы должны установить правильный заголовок для mp3 файлов. Вы можете сделать это в конфигурации своего веб-сервера, или вы можете создать сценарий «загрузки», который отправит правильный заголовок, а содержимое mp3-файла

Если вы, например, используете PHP, можете что-то сделать как это (из руководства PHP):

<?php 
// We'll be outputting a PDF 
header('Content-type: audio/mpeg'); 

// It will be called file.mp3 
header('Content-Disposition: attachment; filename="file.mp3"'); 

// The PDF source is in original.mp3 
readfile('original.mp3'); 
?> 
+0

Большое спасибо. Это сработало отлично. – DonJuma

1

Самый простой способ принудительного скачивания - установить заголовок Content-Type в файл application/octet-stream. Вам нужно сделать это на стороне сервера, хотя, например, с PHP или аналогичным.

0

Несколько указателей.

  • Загрузка файлов может быть выполнена, например. используя PHP. См. handling file uploads в руководстве по PHP, но будьте осторожны: вам нужно много учиться, если вы хотите сделать это правильно.

  • Чтобы воспроизвести файлы MP3 в браузере, лучшим выбором является стильный плеер Flash/JS ike jPlayer.

  • Чтобы сделать файлы MP3 загружаемыми, создайте скрипт на стороне сервера, который отправляет правильные заголовки, как это предлагается @Piskvor и @Jan.

1

Я думаю, что лучший способ, вместо того, чтобы писать код PHP для загрузки, будет следующим.

Предположим, что ваш веб-хостинга использует Apache, в музыкальном каталоге, создайте файл .htaccess со следующим содержимым:

<Files *.mp3> 
    ForceType application/octet-stream 
    Header set Content-Disposition attachment 
</Files> 

Этим достигается то же самое, как PHP, но будет применяться ко всем mp3 файлов.