2012-08-18 10 views
23

Ich habe einen einfachen HTTP-Server erstellt, mit dem Benutzer Dateien herunterladen können. Aber das scheint nicht für MP3-Dateien zu funktionieren. Der Inhaltstyp ist derzeit "application/misc". Um es mit mp3-Dateien arbeiten zu lassen, habe ich versucht "application/mp3", "application/data" und "application/mpeg".Inhaltstyp für mp3 Download Antwort

Was wäre der richtige Inhaltstyp für das Herunterladen von MP3- oder Audiodateien, und fehlen mir einige andere Header? Danke

BEARBEITEN: Die Datei sollte den Download automatisch starten, anstatt den Benutzer aufzufordern, sie irgendwo zu speichern.

+0

Diese Frage besteht eigentlich aus zwei Fragen, die früher gefragt wurden: [Welche Mimetyp sollte ich für mp3 verwenden] (http://stackoverflow.com/questions/10688588/which-mime-type-should-i-use-use- for-mp3) und [Erzwingen, eine Datei mit PHP herunterzuladen] (http://stackoverflow.com/questions/1465573/forcing-to-download-a-file-using-php). Wie beim Speichern Dialog, dies ist nicht unter Ihrer Kontrolle. – user

Antwort

50

Versuchen "Content-Type: audio/mpeg"

aktualisieren

Um den Browser zu ermutigen, das MP3-Format herunterladen anstatt Streaming tun

Content-Disposition: filename = "music.mp3"‘

+0

Ja, ich habe das auch versucht, aber es fängt an, es zu streamen. Ich möchte, dass die Datei heruntergeladen wird. –

+0

Setzen Sie mehr als 1 Content-Type-Header? – jamjam

+0

Ab sofort verwende ich nur einen Header, nämlich Content-Type. Ich denke, Content-Disposition Header würde den Benutzer auffordern, die Datei zu speichern. Ich benötige, dass die Datei automatisch heruntergeladen wird. –

5
.mp3 audio/mpeg3 
.mp3 audio/x-mpeg-3 
.mp3 video/mpeg 
.mp3 video/x-mpeg 

Weitere Informationen finden Sie unter link.

Verwenden von Content-Disposition: Anhang ... erzwingt, dass eine Download-Box erscheint, anstatt mit der rechten Maustaste klicken zu müssen -> Ziel speichern unter.

+0

Ich habe auch 'audio/mpeg' gesehen – Flimm

0

Satz "Content-Disposition" als „attachment

0

Mit Content-Type "application/force-download" für mich gearbeitet.

0

try unterhalb des Inhalts geben Sie es für mich gearbeitet.

"audio/mpeg3;audio/x-mpeg-3;video/mpeg;video/x-mpeg;text/xml" 
1

Nach viel Forschung, I Ich fand einige Ressourcen (einige auf SO), die zu dieser Lösung führten: Es ist die Cross-Device-kompatible Lösung, die es gibt, und löst viele Probleme, besonders mit Android-Geräten (anscheinend gibt es viele Probleme mit ihnen.)

Inhalt-Disposition: Anhang; filename = "my_mp3_filename. MP3"

Beachten Sie die obere Gehäuseverlängerung. Das ist wichtig.