【问题标题】:Autocad files (.dwg,.dxf,.dwf etc) upload in codeigniter在 codeigniter 中上传 Autocad 文件(.dwg、.dxf、.dwf 等)
【发布时间】:2012-02-29 17:13:54
【问题描述】:

我在./system/application/config/mimes.php添加了这一行

'dwg' => array('application/acad', 'application/x-acad', 'application/autocad_dwg', 'image/x-dwg', 'application/dwg', 'application/x-dwg', 'application/x-autocad', 'image/vnd.dwg', 'drawing/dwg'),

我尝试上传 .dwg 文件,但显示如下错误:

您尝试上传的文件类型不允许。

如何上传 .dwg 文件?

【问题讨论】:

    标签: php codeigniter dwg


    【解决方案1】:

    文件扩展名dwg必须在你的allowed_types中:

    $config['allowed_types'] = 'dwg';
    $this->load->library('upload', $config);
    

    如果你想允许多种类型,它们必须用管道|分隔:

    $config['allowed_types'] = 'dwg|dxf|dwf';
    

    参考:http://codeigniter.com/user_guide/libraries/file_uploading.html

    虽然在当前用户指南中似乎没有记录,但使用星号 * 将允许所有类型:

    $config['allowed_types'] = '*';
    

    【讨论】:

    • 我已经完成了你上面提到的所有事情;哦,我也试过$config['allowed_types'] = '*';。但它仍然没有帮助我:(
    • 如果可能的话,您能否发布带有上传配置和示例文件名的实际代码?您确定可以上传其他文件类型吗?
    • 配置:$config['file_name'] = date('YmdHis').'_'.rand(0,9).'.'.$this->getFileExt($fieldName); $config['upload_path'] = realpath('./uploads/client/bi/'); $config['allowed_types'] = 'dxf|dwg|dwf|gif|jpg|png|jpeg'; $config['max_size'] = '2000'; 我通过添加以下行更改了 mime 设置; 'dwf' => array('drawing/x-dwf', 'model/vnd.dwf'),'dwg' => array('application/acad', 'image/vnd.dwg', 'image/x-dwg'), 'dxf' => array('application/dxf', 'image/vnd.dwg', 'image/x-dwg').现在它可以完美上传图像,但在尝试 AutoCAD 文件时显示错误。
    • 我正在使用这个文件进行测试:download.autodesk.com/us/samplefiles/acad/…
    • 那些 mime 类型根本不适合我。我使用application/octet-stream 并尝试过,它有效!我解决了这个问题,但仍然想知道为什么这些 mime 类型不起作用?!
    【解决方案2】:

    解决方案:

    那些 mime 类型根本不适合我。我刚刚使用application/octet-stream 并尝试过,它成功了!我解决了这个问题,但仍然想知道为什么这些 mime 类型不起作用? !

    【讨论】:

    • 对于那些年后阅读的人:- 这个答案是非常不推荐的。 application/octet-stream 是等同于“杂项”的 mime 类型,因此服务器仍可能被诱骗运行恶意代码(例如 exe)。请参阅 owasp.org/index.php/PHP_Security_Cheat_Sheet#File_uploads 以获得更多信息。
    • 我同意你的看法。这是大约 5 年前的一个问题,当时我第一次面对这个问题。不管怎样,谢谢你的回复。
    猜你喜欢
    • 2014-08-28
    • 2020-05-08
    • 2012-05-10
    • 2017-05-07
    • 2016-08-22
    • 1970-01-01
    • 2015-10-30
    • 2013-02-07
    • 2011-04-08
    相关资源
    最近更新 更多