cancel
Showing results for 
Search instead for 
Did you mean: 

CSV Product Import - Wrong URL/path used for attribute image in row

CSV Product Import - Wrong URL/path used for attribute image in row

I was going to raise this as an issue on GitHub, but I guess the question is more whether this is actually a bug or not ...

 

I'm working on a migration from Zencart and the original site's media folder has been downloaded and we've written a custom importer.

The feedback from the product importer is very generic, but it turns out that the original media including a space in it's filename is an issue.

 

Specifically, the PATH_REGEXP within \Magento\CatalogImportExport\Model\Import\Product\Validator\Media.php doesn't allow for this.

 

Is there any reason for this restriction? Is this due to how different file systems may interpret special characters?  If I alter the REGEX to allow for spaces, Magento2 parses the file successfully, and actually changes the filename to a more comfortable format (underscores instead of spaces)

### Preconditions
1.  Magento 2.1.4
2. PHP 7.0.15
3: Percona 5.7.17-11

### Steps to reproduce
1. Create product import
2. Ensure image reference within base_image, small_image or thumbnail_image contains a space
3. Place files within pub/media/images/

### Expected result

1. Media images pass validation

### Actual result

1. Media Images do not pass validation

1. Wrong URL/path used for attribute image in row(s): 2, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49
2. Wrong URL/path used for attribute small_image in row(s): 2, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49
3. Wrong URL/path used for attribute thumbnail in row(s): 2, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49