【问题标题】:Magento 2 product import won't import imagesMagento 2 产品导入不会导入图像
【发布时间】:2016-07-21 14:31:10
【问题描述】:

我正在使用内置的 CSV 导入(系统 - 导入 - 产品)导入产品

我的所有数据都可以正常导入,但出现错误 Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in rows: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

在我的 css 中,我将 base_image 路径写为 ://mywebsite.ca/pub/media/import/img/hose/jpg/Ach7938.jpg

作为测试,我删除了我的文件夹结构,编辑了 csv 并尝试了这个并遇到了同样的问题,同样的错误 http://mywebsite.ca/pub/media/import/Ach7938.jpg

我尝试将文件路径写为/pub/media/import/img/hose/jpg/Ach7938.jpg 但它不会让我通过“检查数据”验证器。

我确认文件夹和文件的权限是 775

我使用的是 PHP 5.6,我尝试了 7,但它以许多不同的方式破坏了整个网站,所以这不是一个选择

附带说明,如果我连续运行 20 次,整个网站会挂起并且导入将无法再次工作,直到我进行完整的系统还原(这是怎么回事?)

我可以将图像放在不同的服务器上并以这种方式链接到它们吗?

【问题讨论】:

    标签: magento2


    【解决方案1】:

    图像路径可以是相对路径或简单名称。我已经将两者都导入了,并且有效。在我的情况下,问题是路径中给出的图像在文件夹中不可用。我尝试导入可用和不可用的图像,并且在该图像不可用的情况下出现错误。 路径可以是任意一个,不一定要用pub/media/import

    【讨论】:

      【解决方案2】:

      对于导入图像问题,我已从 Uploader.php 文件中修复了该问题。更改以下文件路径代码并成功导入图像。

      文件路径: magento/vendor/magento/module-catalog-import-export/Model/Import/Uploader.php

      从第 201 行找到以下行:

      $filePath = $this->_directory->getRelativePath($filePath . $fileName);

      替换为:

      $filePath = strpos($filePath, $fileName) !== false ?
      $filePath:$this->_directory->getRelativePath($filePath . $fileName);
      

      有关更多信息,请参阅此 GitHub 链接:

      https://github.com/magento/magento2/pull/20761/commits/8612789375b0c173f0ba852c587882af6ff8bc7f

      【讨论】:

        【解决方案3】:

        需要相对于 Magento doc root 设置图像文件目录。

        例如,如果您的产品图片位于pub/media/catalog/product

        将其设置为您的图像文件目录。

        【讨论】:

        • 我将图像放入<magento-root>/pub/media/import/,并将“图像文件目录”字段留空。我使用 Magento 2.1.9(与 2.1.8 相同)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-06
        • 2018-01-15
        • 2012-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多