我知道json文件的正确MIME类型是application/json
,可以通过这篇文章What is the correct JSON content type?来确认。
然而,我想知道为什么我的PHP安装返回text/plain
。在解析json文件之前,我需要测试正确的mime。
我有以下代码
$fileinfo = new finfo();
$fileType = $fileinfo->file( $_FILES['tmp_name'], FILEINFO_MIME_TYPE );
其中$fileType
返回的是text/plain
而不是application/json
。
同样地,$_FILES['type']
返回的是application/octet-stream
而不是application/json
。
我错过了什么吗?
编辑
我正在通过jQuery ajax发送文件:
var formData = new FormData( $(form)[0] );
var jsonFile = $( 'input:file[name=contents]', form ).get(0).files[0];
formData.append( 'jsonFile', jsonFile );
$.ajax({
type: 'POST',
url: 'url',
data: formData,
dataType:'json',
enctype : 'multipart/form-data',
processData: false,
contentType : false,
encode:true,
})
plain/text
,但当它通过互联网传输时,为了让接收代码将其识别为特定的JSON纯文本文件,它会在前面加上一个标头,表示它是application/json
。该MIME类型未嵌入文件中。 - RiggsFollycontentType
这样的小细节很重要。 - Pogrindis$_FILES['tmp_name']
这个临时下载文件。对于该文件或任何其他文件,没有关联的MIME类型。___这里没有问题需要解决___。 - RiggsFolly