5

I'm trying to import a CSV file with new products that contain local images but I am receiving the following error:

Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s):
General system exception happened
URL-key for specific store already exists.

I've read a lot but nothing seems to work. Note that every time I did a failed import I truncated the product tables in database. This is what I've tried/already did:

  1. The images are in the pub/media/import folder as the documentation tells us to
  2. I've changed the chmod of these images to 777 just in case
  3. The csv file is UTF-8
  4. The image doesn't contain the path in the CSV, just the file name (e.g. 12356.jpg)
  5. Checked my categories to make sure they match the existing categories in my store
  6. Tried adding other image fields as well instead of just 'base_image' as I did at first to make sure I wasn't missing required fields
  7. Turned the CSV file into one line to check if this would work (which it didn't)

What am I doing wrong?

2

You have to put image in directory magnetoroot/pub/media/import/ e.g. magnetoroot/pub/media/import/12356.jpg

And in your csv field base_image have to value /12356.jpg (with slash).

  • I already have the images in that folder. Adding a slash to the values under base_images does not make a difference – user3478148 Jul 11 '17 at 13:22
2

I figured out what the problem was... My customer sent me all these images with names like 4006501283382.01.jpg. When I tried to move this image to a different folder I realized that this image didn't exist. This is why Magento stopped importing.

Really bad that Magento doesn't show an error like "Image not found".

0

This issue can be occur due to various errors. In my case, I made all my image files name to lowercase and used only letters and numbers in file name. Then import worked perfectly. Note: Make sure all your files have 777 permission.

Now if you need to rename all your files to lowercase using command line (cmd), move (cd) to image directory and use following code

ls | while read upName; do loName=`echo "${upName}" | tr '[:upper:]' '[:lower:]'`; mv "$upName" "$loName"; done   

Hope this will help

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.