我添加了从网络服务器下载文件的功能。我使用自己的Google云端硬盘帐户测试我的程序,但我不确定如何处理内容类型标题,因为我不太了解网络编程。
首先,我将两个文件上传到我的google云端硬盘帐户。 两者都是完全相同的zip 文件,但我重命名了其中一个来自" zip" to" ktx"在上传仅用于测试之前没有任何意义。 上传后,我检查了它们的Content-Type标题,得到了" application / zip "对于原始的" application / x-zip "对于重命名的那个。
我很困惑所以搜索内容类型标题,但是更加困惑。因为似乎拉链的名称更多,例如" multipart / x-zip "和" application / x-zip-compressed "。 所以我真的想知道Content-Type标头的标准命名约定。
无论如何我上传了我需要的所有文件类型,下面是我从 Google云端硬盘获得的。
文档
text / plain(txt)
应用/ PDF
application / msword(doc)
application / vnd.ms-powerpoint(ppt)
application / vnd.ms-excel(xls)
应用/ RTF
application / vnd.openxmlformats-officedocument.wordprocessingml.document(docx)
application / vnd.openxmlformats-officedocument.presentationml.presentation(pptx)
application / vnd.openxmlformats-officedocument.spreadsheetml.sheet(xlsx)
图片
图像/ JPEG
图像/ PNG
图像/ GIF
image / tiff(tif,tiff)
图像/ X-MS-BMP
image / x-photoshop(psd)
image / x-raw(raw)
application / illustrator(ai)
压缩
应用程序/压缩
应用/ RAR
application / x-tar(tar)
application / x-gzip(gz)
application / x-7z-compressed(7z)
application / x-zip(当zip,jar,xlsx或apk重命名为无意义时 之一。)
音频文件
audio / mpeg(mp3)
音频/ X-WAV
音频/ X-MS-WMA
audio / x-aiff(aiff)
audio / midi(mid)
应用/ OGG
画
视频/ MP4
video / x-msvideo(avi)
视频/ X-MS-ASF
视频/ FLV
video / quicktime(mov)
video / mpeg(mpg,vob)
视频/ X-MS-WMV
video / x-matroska(mkv)
脚本或源代码文件
text / html(htm,html)
文本/ X-CSRC
文本/ X-C ++的src
文本/ X-CSHARP
文本/ X-java的
文本/ X-蟒
文本/ CSS
application / x-javascript(js)
应用/ X的httpd - PHP
应用/ JSON
应用/ XML
已编译或可执行文件
application / x-msdos-program(exe,dll,com,bat)
application / java-vm(class)
application / java-archive(jar)
application / x-python-code(pyc)
application / vnd.android.package-archive(apk)
等
application / x-shockwave-flash(swf)
是否有任何标准命名约定?
使用上面的名称检查MIME类型是否可以?
答案 0 :(得分:2)
是否有任何标准命名约定?
使用上面的名称检查MIME类型是否可以?
有关标准类型,请参阅Iana Media Types。
对于MIME类型,请参阅Iana MIME Media Type Parameters。
[RFC2046]指定媒体类型(以前称为MIME类型) 和媒体子类型将由IANA分配和列出。
文件类型在上传或服务器始终确定一次 下载时检查?
通常,在请求文件时,服务器将检查文件扩展名并确定要使用的媒体类型。但是,某些服务器可能会检查文件的第一个字节(magic number)以确定文件类型是什么(例如,zip文件以PK开头.. - 点为0x03 0x04)。
这可能是您看到"application/zip"
的{{1}}和压缩.zip
的{{1}}的原因。作为旁注:"application/x-zip"
也是一个压缩文件。
根据实施情况,服务器可能会在接收文件时检查一次,并将其存储以供以后使用,或者在每次下载时进行检查。