0

有时,在使用<input>标签上传文件时,我会遇到文件扩展名与application/config/mimes.php. 例如,当我上传一个.doc文件时,它的 mime 类型实际上是application/octet-stream,而不是application/msword预期的那样。

我过去有时会遇到这个问题。我确实通过添加application/octet-stream.docmime 数组来解决问题。但是有没有合适的方法来解决它?

我认为浏览器以某种方式强制我的文件的 mime 类型。是否有任何类型的 HTTP 标头或 html 元标记来防止这种情况?

4

2 回答 2

1

正如您在此处看到的,这是一个常见问题,您应用的解决方案是合法的。

于 2012-05-26T13:06:12.047 回答
0

这不是由于 codeignitor 的问题。这是由于php问题。例如finfo_file,函数将返回带有扩展名 jpeg 的图像作为 image/png。

因此,解决方案是转到config/mimes.php文件,然后添加相应的扩展名。

如果您不知道 php 正在挑选的场景背后的扩展名是什么,请添加此代码进行检查。

$finfo = @finfo_open(FILEINFO_MIME);
$mime = @finfo_file($finfo, $_FILES["myname"]['tmp_name']);

$mime将是 php 最终返回的扩展名。

于 2017-06-27T10:19:47.233 回答