2010-08-04 8 views
7

Mam plik mp3 na serwerze apache. Chcę, aby był pobierany jako plik, gdy użytkownik odwiedza łącze. Zamiast tego quicktime lub odtwarzacz multimediów Google Chrome spróbuje go przesłać strumieniowo.Zatrzymanie pliku mp3 z przesyłania strumieniowego w przeglądarkach

Czy jest to poprawka z nagłówkami? Czy jest to jedyna opcja, więc "kliknij prawym przyciskiem Zapisz jako"?

Edytuj Oto mój nagłówek. Safari przestał przesyłać strumieniowo, ale Chrome to robi. Chrome wydaje się być ignorowanie to:

widzę nagłówek został zmieniony poprawnie:

Date Wed, 04 Aug 2010 00:14:35 GMT 
Server Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.11 
Last-Modified Tue, 03 Aug 2010 04:37:01 GMT 
Etag "2bbd692-79597d-48ce3de3f5540" 
Accept-Ranges bytes 
Content-Length 7952765 
Content-Disposition attachment 
Keep-Alive timeout=5, max=100 
Connection Keep-Alive 
Content-Type audio/mpeg 

Czy coś jeszcze w nagłówku, że spowodowałoby to?

Edit Robi rozeznanie Znalazłem to: http://www.google.com/support/forum/p/Chrome/thread?tid=76de4f53f43f03d3&hl=en Wygląda na to, że może być to błąd w chromie zapobiegając jej pobierania.

Odpowiedz

12

Chcesz ustawić nagłówek odpowiedzi Content-Disposition na "załącznik", a także prawdopodobnie pole "nazwa pliku".

Przykład:

Content-Disposition: attachment; filename=foo.mp3; 

Aby tego dokonać bezpośrednio w Apache, spróbuj umieścić następujące informacje w swojej httpd.conf lub .htaccess file:

<FilesMatch "\.(?i:mp3)$"> 
    ForceType audio/mpeg 
    SetEnvIf Request_URI "^.*/?([^/]*)$" FILENAME=$1 
    Header set Content-Disposition "attachment; filename=%{FILENAME}e" 
    UnsetEnv FILENAME 
</FilesMatch> 

EDIT:

Dodany filename pole do Przykład konfiguracji Apache, zapożyczony z this answer. Powinieneś jednak pamiętać o potencjalnych problemach powodowanych przez nazwy plików ze znakami spoza US-ASCII: patrz this question.

Alternatywnie można użyć ogólnej nazwy stałej (ponieważ już znasz rozszerzenie), takiej jak song.mp3, ale może to nie być opcja w zależności od okoliczności.

Trzecią opcją byłoby utworzenie skryptu do obsługi plików MP3, który może ustawić nagłówek i zadbać o usunięcie niechcianych znaków z nazwy pliku.

+0

Dziękuję za wskazanie mnie we właściwym kierunku. Znalazłem ten artykuł o tym, jak wymuszać pobieranie http://www.thingy-ma-jig.co.uk/blog/06-08-2007/force-a-pdf-to-download – Keyo

+0

http: //www.jtricks .com/bits/content_disposition.html – NullUserException

+0

Chrome ignoruje to, nie wiem dlaczego. Wkleiłem nagłówek powyżej. – Keyo

Powiązane problemy