【问题标题】:How do I add a custom mime type to CodeIgniter?如何向 CodeIgniter 添加自定义 mime 类型?
【发布时间】:2012-01-19 18:27:55
【问题描述】:

我正在使用 CodeIgniter 创建一个上传表单,我想上传一个带有 .out 扩展名的纯文本文件。在我的控制器中,我设置了以下选项:

// Set upload variables
$uploadConfig['upload_path'] = 'uploads/temp/';
$uploadConfig['allowed_types'] = 'out|txt';
$uploadConfig['max_size'] = '1024';

$this->load->library('upload', $uploadConfig);

在 mimes.php 配置文件中,我有以下内容:

'text'  =>  'text/plain',
'out'   =>  'text/plain',

在我服务器上的 httpd.conf 文件中,我添加了以下行:

AddType text/plain .out

每当我尝试上传 .out 文件时,我都会收到错误消息 The filetype you are attempting to upload is not allowed. 带有 .txt 扩展名的相同文件可以正常上传。

关于如何让这种自定义 mime 类型与 CI 一起使用有什么想法吗?谢谢!

【问题讨论】:

    标签: codeigniter file-upload mime-types


    【解决方案1】:

    看起来应该可以。 Upload 类只是在管道分隔符处分解“allowed_types”字符串,然后检查文件扩展名是否在数组中。

    如果您使用 '*' 作为 allowed_types 配置设置,它是否有效?

    【讨论】:

    • 是的,确实如此!嗯,那很好。关于为什么指定 allowed_types 有问题的任何想法?
    • 我可以通过将'out' 的mime 类型设置为array('text/plain', 'application/octet-stream') 而不仅仅是'text/plain' 来解决此问题。我猜这与浏览器不知道 .out 文件的 mime 类型有关,而只是使用 application/octet-stream。
    猜你喜欢
    • 2011-08-10
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 2013-02-07
    • 1970-01-01
    相关资源
    最近更新 更多