用appapi接口上传的产品,图片已存在,mongo里面image字段放相对目录,可以程序却去/www/web/fecshop/appimage/common/media/catalog/product/cache/bd935443df1c50537d4edaab4af5d446/230/230找图片,肯定没找到报错

安装报错 · an94er · 于 5年前 发布 · 2080 次阅读

操做情况

如题,我的图片是放在代码根目录下的app/fecshop/appimage/common/media/catalog/product/下面,新建了一个images文件夹里面放图片,然后mongo里面的image,用相对路径230images/20140908/0305/sh145-6397-5395.jpg

报错信息

页面在加载的时候报错 (/www/web/fecshop/appimage/common/media/catalog/product/cache/bd935443df1c50537d4edaab4af5d446/230/230images/20140908/0305/sh145-6397-5395.jpg): failed to open stream: No such file or directory 怎么加载到cache/bd935443df1c50537d4edaab4af5d446/230/哪里去了呢, 不是应该在app/fecshop/appimage/common/media/catalog/product/images/下面去找的吗

问题猜想

我试了好多次,看样例里面的路径也是这么写相对路径的,如:"/1/22/12229472_5147185361565976.jpg" ,而这图片就是在:app/fecshop/appimage/common/media/catalog/product/下面的 1.是否有对应上传图片api 2.可否通过修改数据库来实现

共收到 4 条回复
an94er#15年前 0 个赞

补充说明下,目前图片是我用ssh上传上去的

Fecmall#25年前 0 个赞

是你写的错误,还是什么xx,我看你写的东西怪怪的

1.图片的相对路径为:@appimage/common/media/catalog/product/

2.你上传到相对文件路径下的文件路径是什么? 230images/20140908/0305/sh145-6397-5395.jpg 还是 images/20140908/0305/sh145-6397-5395.jpg,这个文件夹命名怪怪的。

3.如果你写的文件路径没有问题,也就是 230images/20140908/0305/sh145-6397-5395.jpg,那么

你打开mongodb中的product_flat表,你看看数据

 "image": {
     "gallery": [
       {
         "image": "/t/um/tumthmye9ca2l371522977560.jpg",
         "label": "phpvv",
         "sort_order": NumberInt(2),
         "is_thumbnails": "1",
         "is_detail": "1" 
      } 
    ],
     "main": {
       "image": "/x/8n/x8n9jkwjxpvyzy21522977555.gif",
       "label": "php",
       "sort_order": NumberInt(1),
       "is_thumbnails": "1",
       "is_detail": "1" 
    } 
  },

找到问题了没有?图片路径需要加一个/,将 230images/20140908/0305/sh145-6397-5395.jpg改成 /230images/20140908/0305/sh145-6397-5395.jpg

在文档:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-api-product-addone.html

中的示例数据图片地址你好好看看,出现问题先去比对数据

Fecmall#35年前 0 个赞

1.xxx可否通过修改数据库来实现,系统就是系统,不了解就别乱折腾,本人不会回复这样的问题,不要有直接操作数据库的想法,除非特殊的情况下,而且你非常熟悉系统,否则会搞出来乱子,弄很多异常数据。

2.图片处理的文件是在:https://github.com/fecshop/yii2_fecshop/blob/master/services/product/Image.php

如果还有问题,自己调试找找问题所在

Fecmall#45年前 0 个赞

前后矛盾!搞的乱乱的,发帖后先自己读一遍自己的帖子,确定下是否有问题,将帖子写严谨明白

我猜测,你就是图片路径前面没有加 / 导致的问题

你的相对产品路径为:app/fecshop/appimage/common/media/catalog/product/下面,

新建了一个images文件夹里面放图片,然后mongo里面的image

那么,你的产品相对路径是 /images/20140908/0305/sh145-6397-5395.jpg

将这个路径写入到api的图片中即可,一定要/开头!

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics