Pengenalan
FileServer ialah pakej Go yang berkuasa untuk menyediakan fail statik. Walau bagaimanapun, anda mungkin menghadapi masalah apabila respons mengembalikan jenis mime "Jenis Kandungan" yang salah, seperti "teks/html" dan bukannya "audio/mpeg." Ini boleh menjadi masalah jika anda menyediakan jenis fail tertentu yang memerlukan jenis mim tertentu.
Jawapan
Untuk menyelesaikan isu ini, anda tidak perlu mengatasi jenis mim. Sebaliknya, masalahnya terletak pada cara FileServer dikonfigurasikan. Khususnya, corak yang digunakan untuk mengendalikan permintaan mungkin tidak betul.
Penyelesaian
Penyelesaian adalah dengan menambah garis miring mengekor pada corak yang digunakan untuk mengendalikan permintaan. Sebagai contoh, bukannya:
http.Handle("/media", http.StripPrefix("/media", fs))
Anda harus menggunakan:
http.Handle("/media/", http.StripPrefix("/media/", fs))
Penjelasan
Slash mengekor menunjukkan bahawa corak mewakili subpokok berakar sebaliknya daripada jalan yang tetap. Ini bermakna FileServer akan menyampaikan permintaan untuk sebarang laluan dalam subpokok "/media/".
Pengesahan
Untuk memastikan pembetulan berfungsi, anda boleh cuba mengakses mp3 fail semula. Anda kini sepatutnya menerima respons dengan jenis mime "Jenis Kandungan" yang betul, "audio/mpeg."
Atas ialah kandungan terperinci Mengapa My Go FileServer Mengembalikan Jenis MIME Jenis Kandungan yang Salah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!