管理后台无法上传商品图片

57 views
Skip to first unread message

SXS

unread,
Aug 8, 2014, 10:11:43 AM8/8/14
to bzfsho...@googlegroups.com
有人测试过这个问题吗?
在管理后台中,上传商品图片总是失败,我用chrome和ie浏览器测过,都是一样的结果
在bzfshop官方提供的demo上试过 (http://demo.bzfshop.net/manage),也是一样的结果。
大家有用过这个功能吗?

SXS

unread,
Aug 8, 2014, 10:15:08 AM8/8/14
to bzfsho...@googlegroups.com
这是一些log,作者能不能花时间看看,谢谢
PHP Fatal error:  Uncaught exception 'ErrorException' with message 'Fatal error: Uncaught exception 'ErrorException' with message 'Undefined index: dirname' in /data1/www/htdocs/705/cici365/1/protected/Framework/F3/base.php:1437 yq24 

SXS

unread,
Aug 9, 2014, 8:31:19 AM8/9/14
to bzfsho...@googlegroups.com
Hi
通过多次测试,我发现jpg的图片可以成功上传,而png的才会发生上面描述的情况
是对图片格式有要求吗?

Jia Man

unread,
Aug 28, 2014, 9:42:24 AM8/28/14
to bzfsho...@googlegroups.com
同样问题,png图片无法上传
Message has been deleted

Jia Man

unread,
Aug 28, 2014, 1:19:02 PM8/28/14
to bzfsho...@googlegroups.com

修正PNG无法上传错误

DEBUG

报错1:图片不是RGB格式

定位到操作:

// 我们的文件上传操作全部采用 KindEditor 来做

$kindEditor = new \KindEditor\KindEditor();

$fileInfo   = $kindEditor->doAction($dataPathRoot, $dataUrlPrefix, 'upload');

看到这里,预测,只要修改一处,文件位置

/Users/plusman/Desktop/PlusMan/ffzy/bzf/protected/Vendor/KindEditor/KindEditor.php


貌似有更简单的方法

全文搜索报错关键词 图片不是RGB格式

定位到文件 /Users/plusman/Desktop/PlusMan/ffzy/bzf/protected/Core/Helper/Utility/FileUpload.php 可以看到如下代码

private $stateMap = array( //上传状态映射表,国际化用户需考虑此处数据的国际化

    "SUCCESS", //上传成功标记,在UEditor中内不可改变,否则flash判断会出错

    "文件大小超出 upload_max_filesize 限制",

    "文件大小超出 MAX_FILE_SIZE 限制",

    "文件未被完整上传",

    "没有文件被上传",

    "上传文件为空",

    "POST"    => "文件大小超出 post_max_size 限制",

    "SIZE"    => "文件大小超出网站限制",

    "TYPE"    => "不允许的文件类型",

    "RGB"     => "图片不是RGB格式",

    "DIR"     => "目录创建失败",

    "IO"      => "输入输出错误",

    "UNKNOWN" => "未知错误",

    "MOVE"    => "文件保存时出错"

);

再在文件内搜索RGB,定位到

    // 图片必须是 RGB 格式,不允许上传 CMYK 格式图片

    if (in_array($this->fileType, $this->imageType) && !Image::isImageRGB($file["tmp_name"])) 

    {

        $this->stateInfo = $this->getStateInfo("RGB");

        return;

    }

注释掉上述代码即可。

后续

为什么图片一定要是RGB,不能是CMYK?

我目前能知道的是

  • RGB更加适合屏幕显示,CMYK更加适合印刷

但是,因为这么一个原因,禁用掉CMYK,似乎理由还不够充分,求大神解释。

Reply all
Reply to author
Forward
0 new messages