Skip to content

Commit 6ad1d01

Browse files
MAGETWO-86221: Fix import from external jpeg images #12872
2 parents b52c802 + a0e5d1d commit 6ad1d01

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

app/code/Magento/CatalogImportExport/Model/Import/Uploader.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,15 @@ public function move($fileName, $renameFileOff = false)
161161
$read = $this->_readFactory->create($url, DriverPool::HTTPS);
162162
}
163163

164+
//only use filename (for URI with query parameters)
165+
$parsedUrlPath = parse_url($url, PHP_URL_PATH);
166+
if ($parsedUrlPath) {
167+
$urlPathValues = explode('/', $parsedUrlPath);
168+
if (!empty($urlPathValues)) {
169+
$fileName = end($urlPathValues);
170+
}
171+
}
172+
164173
$fileName = preg_replace('/[^a-z0-9\._-]+/i', '', $fileName);
165174
$this->_directory->writeFile(
166175
$this->_directory->getRelativePath($this->getTmpDir() . '/' . $fileName),

app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/UploaderTest.php

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,12 +217,32 @@ public function moveFileUrlDataProvider()
217217
[
218218
'$fileUrl' => 'http://test_uploader_file',
219219
'$expectedHost' => 'test_uploader_file',
220-
'$expectedFileName' => 'httptest_uploader_file',
220+
'$expectedFileName' => 'test_uploader_file',
221221
],
222222
[
223223
'$fileUrl' => 'https://!:^&`;file',
224224
'$expectedHost' => '!:^&`;file',
225-
'$expectedFileName' => 'httpsfile',
225+
'$expectedFileName' => 'file',
226+
],
227+
[
228+
'$fileUrl' => 'https://www.google.com/image.jpg',
229+
'$expectedHost' => 'www.google.com/image.jpg',
230+
'$expectedFileName' => 'image.jpg',
231+
],
232+
[
233+
'$fileUrl' => 'https://www.google.com/image.jpg?param=1',
234+
'$expectedHost' => 'www.google.com/image.jpg?param=1',
235+
'$expectedFileName' => 'image.jpg',
236+
],
237+
[
238+
'$fileUrl' => 'https://www.google.com/image.jpg?param=1&param=2',
239+
'$expectedHost' => 'www.google.com/image.jpg?param=1&param=2',
240+
'$expectedFileName' => 'image.jpg',
241+
],
242+
[
243+
'$fileUrl' => 'http://www.google.com/image.jpg?param=1&param=2',
244+
'$expectedHost' => 'www.google.com/image.jpg?param=1&param=2',
245+
'$expectedFileName' => 'image.jpg',
226246
],
227247
];
228248
}

0 commit comments

Comments
 (0)