上传ai Illustrator文件的MIME类型

时间:2019-03-04 作者:joshmoto

也许这个主题需要更新,因为我以前肯定用过这个,但今天adobe illustrator ai文件没有上传。

所以我用gravity forms plugin 上载我的文件。

当我尝试最初上载这些文件格式时。。。

我收到了以下消息:Sorry, this file extension is not permitted for security reasons 对于所有这些文件格式。

所以我通过在我的类中添加这个函数来过滤我的上传模拟。。。

/**
 * my class constructor
*/
public function __construct()
{

    // allow extra mime type uploads
    add_filter( \'upload_mimes\' , array ($this, \'custom_upload_mimes\'));

}

/**
 * Allow extra mime types for the sample upload
 *
 * @return array
 */
public function custom_upload_mimes ( $existing_mimes = [] )
{

    $existing_mimes[\'psd\']  = \'image/vnd.adobe.photoshop\';
    $existing_mimes[\'eps\']  = \'application/postscript\';
    $existing_mimes[\'ai\']   = \'application/postscript\';
    $existing_mimes[\'svg\']  = \'image/svg+xml\';

    return $existing_mimes;

}
经过一点测试,上面列出的所有文件类型都上传得很好。。。除了illustrator文件。

我删除了此函数,无法上载任何这些格式。我再次调用该函数,只调用了illustrator.ai 文件正在返回错误消息。

我还尝试了一个非常旧的illustrator文件,看看是否是文件问题,但结果是一样的。

我应该怎么做才能解决这个问题?

2 个回复
最合适的回答,由SO网友:Mushrit Shabnam 整理而成

请尝试以下操作:

$mime_types[ \'eps\' ] = \'application/postscript\';
$mime_types[ \'ai\'  ] = \'application/pdf\';
$mime_types[ \'svg\' ] = \'image/svg+xml\';`
然后返回$mime_types

SO网友:saulpalv

我把这些信息放在这里(不是关于上传),但根据adobe docs mime类型列表如下

对于.aiapplication/postscript

对于eps 可以是以下任何EPS

  1. application/postscript
  2. application/eps
  3. application/x-eps
  4. image/eps
  5. image/x-eps
用于psdimage/vnd.adobe.photoshop

对于svgimage/svg+xml