我的OpenCart商店中的客户要求通过使用upload File选项从产品页面上传Corel绘图文件(.cdr)。这是一个默认不支持的文件类型扩展名,我还不能合并它。我到目前为止所做的事:
在System > Settings > Server中,我在允许的文件扩展名下包括了cdr和CDR。此外,我已经为允许的File类型放置了可以找到的所有MIME类型:
不幸的是,当我试图上传一个Corel X6 cdr文件时,X6仍然会返回“无效扩展类型”。我还试图合并.torrent文件(使用同样的方法--只是为了测试--而且它成功了),所以我相信上传.cdr文件的答案已经接近了。
发布于 2013-10-20 19:44:30
如果您想通过管理后端的文件管理器执行此操作,可以创建以下vqmod脚本并将其保存在您的xml文件夹中.这将允许您将cdr文件添加到您的站点中,以便下载或链接或通过您的文件管理器进行任何操作。
<modification>
<id>CDR File Uploader</id>
<version>1.2</version>
<vqmver>2.1.5</vqmver>
<author>Jeremy Fisk</author>
<file name="admin/controller/common/filemanager.php">
<operation>
<search position="before"><![CDATA[if (isset($this->request->get['image'])) {]]></search>
<add><![CDATA[$ext = strrchr($this->request->get['image'], '.');
if(strtolower($ext) == '.cdr') {
$this->request->get['image'] = 'cdr_icon.png';
}]]></add>
</operation>
<operation>
<search position="after"><![CDATA['.jpg',]]></search>
<add><![CDATA['.cdr',]]></add>
</operation>
<operation error="skip"><!-- 1.5.0.x - 1.5.1.2 only -->
<search position="replace"><![CDATA[$this->model_tool_image->resize(substr($file, strlen(DIR_IMAGE)), 100, 100)]]></search>
<add><![CDATA[(strtolower($ext) == '.cdr') ? $this->model_tool_image->resize('pdf_icon.png', 100, 100) : $this->model_tool_image->resize(substr($file, strlen(DIR_IMAGE)), 100, 100)]]></add>
</operation>
<operation error="skip"><!-- 1.5.1.3 only -->
<search position="replace"><![CDATA[$this->model_tool_image->resize(utf8_substr($file, strlen(DIR_IMAGE)), 100, 100)]]></search>
<add><![CDATA[(strtolower($ext) == '.cdr') ? $this->model_tool_image->resize('pdf_icon.png', 100, 100) : $this->model_tool_image->resize(utf8_substr($file, strlen(DIR_IMAGE)), 100, 100)]]></add>
</operation>
<operation>
<search position="replace"><![CDATA[300000]]></search>
<add><![CDATA[3000000]]></add>
</operation>
<operation>
<search position="after"><![CDATA['image/jpeg',]]></search>
<add><![CDATA[ 'application/octet-stream',]]></add>
</operation>
</file>
<file name="admin/language/english/common/filemanager.php">
<operation>
<search position="replace"><![CDATA[300kb]]></search>
<add><![CDATA[3MB]]></add>
</operation>
</file>
这也会将文件管理器中的上传限制提高到3Mb (以前是300 to )。
您需要将cdr图标的png文件保存在默认的图像位置(称为"cdr_icon.png")。
我希望这个小剧本能帮上忙
为杰里米干杯
发布于 2014-09-03 03:10:37
我试过以上所有的方法,但都不起作用。最新的OpenCart 1.5.6.x版本不允许通过图像管理器上传图像文件。"所有文件类型“扩展名 (付费扩展名)起作用了。但是,您需要设置正确的MIME类型的珊瑚文件应用程序/cdr。
https://stackoverflow.com/questions/19097590
复制相似问题