Magento 2产品导入不会导入图像


9

我正在使用内置的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路径写为 http://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次,则整个站点都将挂起,并且直到我执行完整的系统还原后,导入才能再次起作用(这是怎么回事?)

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

Answers:


7

图像路径在csv中应该是这样的:Ach7938.jpg

然后,M1会在media / import中搜索图像文件,所以我认为在M2中它将是pub / media / import

您可以使用图片创建产品,然后导出数据以了解如何将csv中的值


6

"Imported resource (image) could not be downloaded from external resource due to timeout or access permissions"当我使用以下csv文件格式在Magento 2.0.0版本(Windows 10)中导入图像时,出现了提到的错误。

我使用的csv格式如下>>

sku,base_image,errors
WT09-XS-Purple,/pub/media/import/wt09-white_back-test.jpg

在“要导入的文件”部分的“图像文件目录”子部分下,我将该路径用作 /pub/media/import

我有要在pub / media / import位置导入的图像

当我使用以下csv格式时,问题解决了:

"sku","base_image"
"WT09-XS-Purple","wt09-white_back-test.jpg"

和图像文件目录值作为 pub/media/import 在此处输入图片说明

在Github上发布:https : //github.com/magento/magento2/issues/2666


从Magento 2.3.2开始,正确的导入图像位置是:<Magento根文件夹> / var / import / images
Isaac

5

不知道这是否与您的问题有关,因为这是内部导入,但是:

M2中,我存储了图像,pub/media/import但会得到相同的错误

  1. 由于超时或行中的访问权限,无法从外部资源下载导入的资源(图像):1、2

我从CSV文件中删除了路径名,只保留了图像路径(image.jpg没有斜线),现在效果很好。


我认为这是针对您的情况的。您的图像位于目录中,而不位于子目录中。
Stevie G

2

我现在正在使用Magento 2.2.6 / 7,
并且由于不同操作系统的目录路径机制而遇到相同的错误。

让我们假设图像是否在pub / media / import文件夹中,那么我们应该提到这样的路径:
1.Windows中(主要用于localhost /开发目的)-/ pub / media / import
2.Ubuntu中(主要用于生产服务器) -酒吧/媒体/进口

这里多了一个斜杠引起了问题。


1

如果使用外部图像URL导入,则可以看到我的修复程序

从外部网址图片下载后,我发现问题来自图片的重复路径。

我还为此创建了请求请求。


那对我有用。在2.2.7中无法再从外部URL导入图像。
约翰尼·朗内克

1

只是通过将pub / media / import中图像的所有者设置为Web用户来解决同一问题。

在var / log / exception.log中,我发现了以下内容

[2019-06-05 21:02:06] main.CRITICAL: File 'pub/media/import/xxxx.jpg' was not found or has read restriction. {"exception":"[object] (Magento\\Framework\\Exception\\LocalizedException(code: 0): File 'pub/media/import/xxxx.jpg' was not found or has read restriction. at /opt/bitnami/apps/magento/htdocs/vendor/magento/module-catalog-import-export/Model/Import/Uploader.php:209)"} []

在Bitnami安装下,文件以用户“ bitnami”的身份通过FTP上载,但在此安装中,网络用户为“ daemon”

我运行以下命令来修复Bitnami安装上的所有所有权,现在它会导入图像。如果您的Web用户不是守护程序,请不要运行此程序。

sudo chown -R daemon:daemon /opt/bitnami/apps/magento/htdocs && sudo find . -type d -exec chmod 770 {} \; && sudo find . -type f -exec chmod 660 {} \; && sudo chmod u+x bin/magento-cli``

尽管此解决方案适用于BItnami安装,但它可能有助于发现问题。


0

图像路径可以是或不能没有/,这不是问题。我都导入了它,并且有效。就我而言,问题是在路径中给定的图像在文件夹中不可用。我尝试导入可用和不可用的图像,但是在该图像不可用时出现错误。路径可以是任何路径,不一定非要使用pub/media/import


0

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

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

Find the below line from line number 201:

$ filePath = $ this-> _ directory-> getRelativePath($ filePath。$ fileName);

Replace with:

$ filePath = strpos($ filePath,$ fileName)!== false?$ filePath:$ this-> _ directory-> getRelativePath($ filePath。$ fileName);

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

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


0

我只是自己遇到了这个问题,此修复程序与csv的格式或图像的文件位置无关。

对我来说是导致该pub/media/import文件夹的权限。从外部下载图像时,图像似乎放在这里。当系统无法在此处创建文件时,它将引发上述问题。

要修复它,我要做的就是运行以下命令来修复它(从pub/media文件夹中):

sudo chmod 777 import

完成此操作后,我的产品将无错误地导入。


0

以下是要覆盖的文件,不建议在供应商文件中进行修改。

vendor \ magento \ module-catalog-import-export \ Model \ Import \ Uploader.php

跳到第249行,即这里的“ if($ this-> getTmpDir())”,并替换为($ this-> getTmpDir()&& strpos($ filePath,$ this-> downloadDir)!== 0)

将所有图像复制到“ images”文件夹下的根目录

现在打开CSV并分配具有完整URL的图像,例如www.domain.com/images/test.jpg或http://127.0.0.1/mage233/images/test.jpg

现在返回到Admin并上传此CSV文件,而不定义“ Images File Directory”的路径

这次应该可以了。


0

在2.3.5中,它似乎已经在路径var / import / images中添加了。将图像移动到该文件中,然后导入,而无需在图像导入工具中添加var / import / images路径。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.