我需要只接受MP4视频和WMV视频在一个Django网络应用程序,我正在建设。为此,当文件到达服务器时,我将检查它的mime类型。
据我所知,MP4文件有‘视频/MP4’mime类型,这正是我在我的网络应用程序中收到的。问题在于WMV文件,根据我发现的每个站点(例如:这和那),这些文件应该以“视频/ mime wmv”作为mime类型。当我在服务器上得到这些文件并使用python-magic对它们进行检查时,我会得到‘video/ this asf’作为它的mime类型。
我使用不同的在线转换器将youtube视频转换成WMV视频,但结果总是一样的。
所以实际上,我不知道我在这里做错了什么。
python-magic没有正确地读取mime类型,我认为这几乎不是事实。任何帮助都是非常感谢的。
另外,我使用的是python-magic,而不是django的file.content_type,因为第二个不可靠。只要将文件的扩展名更改为错误的扩展名,file.content_type就会给出扩展mime类型,而不是真正的mime类型。
发布于 2018-12-07 20:51:30
video/x-ms-asf是正确的MIME类型,因为它是包含音频和视频的Windows文件的“高级系统格式”姓氏。
在“家庭”中,只有音频文件(.wma)可以使用audio/x-ms-wma,而视频/音频文件(.wmv)可以使用video/x-ms-wmv,但是对于为流优化的内容,通常引用容器家族而不是MIME类型中的文件扩展名。
发布于 2019-06-10 10:49:15
如果python-magic封装了著名的libmagic库,原因是libmagic实际上无法确定ASF文件的内容:https://bugs.astron.com/view.php?id=84。
https://stackoverflow.com/questions/53672122
复制相似问题