Importing product images from URL problem












0















I'm trying to import some products from a csv with images that are stored on an external server. The images are saving to the var/import folder ok but they won't assign to the product. I'm using the google logo to test.
The exception.log file says:
main.CRITICAL: File 'var/import/googlelogo_color_272x92dp.pnggooglelogo_color_272x92dp.png' was not found or has read restriction. {"exception":"[object] (Magento\Framework\Exception\LocalizedException(code: 0): File 'var/import/googlelogo_color_272x92dp.pnggooglelogo_color_272x92dp.png' was not found or has read restriction. at /home/account/public_html/vendor/magento/module-catalog-import-export/Model/Import/Uploader.php:210)"}
See how it's concatenating the file name twice? What's going on?
The import works fine if I use a local path but goes screwy when I put an external url in the source.
For the record the image source is:
https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png



I've tried the same file on a different installation of 2.3 and got the same result. The same file worked perfectly on 2.2.6










share|improve this question





























    0















    I'm trying to import some products from a csv with images that are stored on an external server. The images are saving to the var/import folder ok but they won't assign to the product. I'm using the google logo to test.
    The exception.log file says:
    main.CRITICAL: File 'var/import/googlelogo_color_272x92dp.pnggooglelogo_color_272x92dp.png' was not found or has read restriction. {"exception":"[object] (Magento\Framework\Exception\LocalizedException(code: 0): File 'var/import/googlelogo_color_272x92dp.pnggooglelogo_color_272x92dp.png' was not found or has read restriction. at /home/account/public_html/vendor/magento/module-catalog-import-export/Model/Import/Uploader.php:210)"}
    See how it's concatenating the file name twice? What's going on?
    The import works fine if I use a local path but goes screwy when I put an external url in the source.
    For the record the image source is:
    https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png



    I've tried the same file on a different installation of 2.3 and got the same result. The same file worked perfectly on 2.2.6










    share|improve this question



























      0












      0








      0








      I'm trying to import some products from a csv with images that are stored on an external server. The images are saving to the var/import folder ok but they won't assign to the product. I'm using the google logo to test.
      The exception.log file says:
      main.CRITICAL: File 'var/import/googlelogo_color_272x92dp.pnggooglelogo_color_272x92dp.png' was not found or has read restriction. {"exception":"[object] (Magento\Framework\Exception\LocalizedException(code: 0): File 'var/import/googlelogo_color_272x92dp.pnggooglelogo_color_272x92dp.png' was not found or has read restriction. at /home/account/public_html/vendor/magento/module-catalog-import-export/Model/Import/Uploader.php:210)"}
      See how it's concatenating the file name twice? What's going on?
      The import works fine if I use a local path but goes screwy when I put an external url in the source.
      For the record the image source is:
      https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png



      I've tried the same file on a different installation of 2.3 and got the same result. The same file worked perfectly on 2.2.6










      share|improve this question
















      I'm trying to import some products from a csv with images that are stored on an external server. The images are saving to the var/import folder ok but they won't assign to the product. I'm using the google logo to test.
      The exception.log file says:
      main.CRITICAL: File 'var/import/googlelogo_color_272x92dp.pnggooglelogo_color_272x92dp.png' was not found or has read restriction. {"exception":"[object] (Magento\Framework\Exception\LocalizedException(code: 0): File 'var/import/googlelogo_color_272x92dp.pnggooglelogo_color_272x92dp.png' was not found or has read restriction. at /home/account/public_html/vendor/magento/module-catalog-import-export/Model/Import/Uploader.php:210)"}
      See how it's concatenating the file name twice? What's going on?
      The import works fine if I use a local path but goes screwy when I put an external url in the source.
      For the record the image source is:
      https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png



      I've tried the same file on a different installation of 2.3 and got the same result. The same file worked perfectly on 2.2.6







      magento2.3






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Dec 28 '18 at 18:01







      Denial Design

















      asked Dec 28 '18 at 17:00









      Denial DesignDenial Design

      8813




      8813






















          2 Answers
          2






          active

          oldest

          votes


















          0














          I overwrote /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php with the version from 2.2.6 and it worked fine.






          share|improve this answer































            0














            I compared both files Magento 2.X and Magento 2.3 and got the issue related to this.



            Please open this file /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php
            There is missing one condition in function setTmpDir() and here is the missing code with line by line





            1. missing to use



              use MagentoFrameworkAppObjectManager; http://prntscr.com/mfvnv8 on line no : 10




            2. missing code on line no 99 to 102



              /**




              • @var MagentoFrameworkAppFilesystemDirectoryResolver
                */
                private $directoryResolver;



            3. missing code on line no 135
              $this->directoryResolver = $directoryResolver
              ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



            4. missing code on line no 112




              • @param MagentoFrameworkAppFilesystemDirectoryResolver|null $directoryResolver



            5. missing to add code in __construct()
              MagentoFrameworkAppFilesystemDirectoryResolver $directoryResolver = null


            6. missing code on line no 134
              $this->directoryResolver = $directoryResolver
              ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



            7. Missing code in line no 294



              Old code
              public function setTmpDir($path)
              {
              if (is_string($path) && $this->_directory->isReadable($path)) {
              $this->_tmpDir = $path;
              return true;
              }
              return false;
              }




              • Replace it with below code


              public function setTmpDir($path)
              {
              if (is_string($path)
              && $this->_directory->isReadable($path)
              && $this->directoryResolver->validatePath($this->_directory->getAbsolutePath($path), DirectoryList::ROOT)
              ) {
              $this->_tmpDir = $path;
              return true;
              }
              return false;
              }




            Hope, This one is useful to understand you why this is not uploading.



            Thank you





            share























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "479"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f256095%2fimporting-product-images-from-url-problem%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              0














              I overwrote /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php with the version from 2.2.6 and it worked fine.






              share|improve this answer




























                0














                I overwrote /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php with the version from 2.2.6 and it worked fine.






                share|improve this answer


























                  0












                  0








                  0







                  I overwrote /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php with the version from 2.2.6 and it worked fine.






                  share|improve this answer













                  I overwrote /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php with the version from 2.2.6 and it worked fine.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Dec 28 '18 at 18:10









                  Denial DesignDenial Design

                  8813




                  8813

























                      0














                      I compared both files Magento 2.X and Magento 2.3 and got the issue related to this.



                      Please open this file /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php
                      There is missing one condition in function setTmpDir() and here is the missing code with line by line





                      1. missing to use



                        use MagentoFrameworkAppObjectManager; http://prntscr.com/mfvnv8 on line no : 10




                      2. missing code on line no 99 to 102



                        /**




                        • @var MagentoFrameworkAppFilesystemDirectoryResolver
                          */
                          private $directoryResolver;



                      3. missing code on line no 135
                        $this->directoryResolver = $directoryResolver
                        ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



                      4. missing code on line no 112




                        • @param MagentoFrameworkAppFilesystemDirectoryResolver|null $directoryResolver



                      5. missing to add code in __construct()
                        MagentoFrameworkAppFilesystemDirectoryResolver $directoryResolver = null


                      6. missing code on line no 134
                        $this->directoryResolver = $directoryResolver
                        ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



                      7. Missing code in line no 294



                        Old code
                        public function setTmpDir($path)
                        {
                        if (is_string($path) && $this->_directory->isReadable($path)) {
                        $this->_tmpDir = $path;
                        return true;
                        }
                        return false;
                        }




                        • Replace it with below code


                        public function setTmpDir($path)
                        {
                        if (is_string($path)
                        && $this->_directory->isReadable($path)
                        && $this->directoryResolver->validatePath($this->_directory->getAbsolutePath($path), DirectoryList::ROOT)
                        ) {
                        $this->_tmpDir = $path;
                        return true;
                        }
                        return false;
                        }




                      Hope, This one is useful to understand you why this is not uploading.



                      Thank you





                      share




























                        0














                        I compared both files Magento 2.X and Magento 2.3 and got the issue related to this.



                        Please open this file /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php
                        There is missing one condition in function setTmpDir() and here is the missing code with line by line





                        1. missing to use



                          use MagentoFrameworkAppObjectManager; http://prntscr.com/mfvnv8 on line no : 10




                        2. missing code on line no 99 to 102



                          /**




                          • @var MagentoFrameworkAppFilesystemDirectoryResolver
                            */
                            private $directoryResolver;



                        3. missing code on line no 135
                          $this->directoryResolver = $directoryResolver
                          ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



                        4. missing code on line no 112




                          • @param MagentoFrameworkAppFilesystemDirectoryResolver|null $directoryResolver



                        5. missing to add code in __construct()
                          MagentoFrameworkAppFilesystemDirectoryResolver $directoryResolver = null


                        6. missing code on line no 134
                          $this->directoryResolver = $directoryResolver
                          ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



                        7. Missing code in line no 294



                          Old code
                          public function setTmpDir($path)
                          {
                          if (is_string($path) && $this->_directory->isReadable($path)) {
                          $this->_tmpDir = $path;
                          return true;
                          }
                          return false;
                          }




                          • Replace it with below code


                          public function setTmpDir($path)
                          {
                          if (is_string($path)
                          && $this->_directory->isReadable($path)
                          && $this->directoryResolver->validatePath($this->_directory->getAbsolutePath($path), DirectoryList::ROOT)
                          ) {
                          $this->_tmpDir = $path;
                          return true;
                          }
                          return false;
                          }




                        Hope, This one is useful to understand you why this is not uploading.



                        Thank you





                        share


























                          0












                          0








                          0







                          I compared both files Magento 2.X and Magento 2.3 and got the issue related to this.



                          Please open this file /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php
                          There is missing one condition in function setTmpDir() and here is the missing code with line by line





                          1. missing to use



                            use MagentoFrameworkAppObjectManager; http://prntscr.com/mfvnv8 on line no : 10




                          2. missing code on line no 99 to 102



                            /**




                            • @var MagentoFrameworkAppFilesystemDirectoryResolver
                              */
                              private $directoryResolver;



                          3. missing code on line no 135
                            $this->directoryResolver = $directoryResolver
                            ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



                          4. missing code on line no 112




                            • @param MagentoFrameworkAppFilesystemDirectoryResolver|null $directoryResolver



                          5. missing to add code in __construct()
                            MagentoFrameworkAppFilesystemDirectoryResolver $directoryResolver = null


                          6. missing code on line no 134
                            $this->directoryResolver = $directoryResolver
                            ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



                          7. Missing code in line no 294



                            Old code
                            public function setTmpDir($path)
                            {
                            if (is_string($path) && $this->_directory->isReadable($path)) {
                            $this->_tmpDir = $path;
                            return true;
                            }
                            return false;
                            }




                            • Replace it with below code


                            public function setTmpDir($path)
                            {
                            if (is_string($path)
                            && $this->_directory->isReadable($path)
                            && $this->directoryResolver->validatePath($this->_directory->getAbsolutePath($path), DirectoryList::ROOT)
                            ) {
                            $this->_tmpDir = $path;
                            return true;
                            }
                            return false;
                            }




                          Hope, This one is useful to understand you why this is not uploading.



                          Thank you





                          share













                          I compared both files Magento 2.X and Magento 2.3 and got the issue related to this.



                          Please open this file /vendor/magento/module-catalog-import-export/Model/Import/Uploader.php
                          There is missing one condition in function setTmpDir() and here is the missing code with line by line





                          1. missing to use



                            use MagentoFrameworkAppObjectManager; http://prntscr.com/mfvnv8 on line no : 10




                          2. missing code on line no 99 to 102



                            /**




                            • @var MagentoFrameworkAppFilesystemDirectoryResolver
                              */
                              private $directoryResolver;



                          3. missing code on line no 135
                            $this->directoryResolver = $directoryResolver
                            ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



                          4. missing code on line no 112




                            • @param MagentoFrameworkAppFilesystemDirectoryResolver|null $directoryResolver



                          5. missing to add code in __construct()
                            MagentoFrameworkAppFilesystemDirectoryResolver $directoryResolver = null


                          6. missing code on line no 134
                            $this->directoryResolver = $directoryResolver
                            ?: ObjectManager::getInstance()->get(MagentoFrameworkAppFilesystemDirectoryResolver::class);



                          7. Missing code in line no 294



                            Old code
                            public function setTmpDir($path)
                            {
                            if (is_string($path) && $this->_directory->isReadable($path)) {
                            $this->_tmpDir = $path;
                            return true;
                            }
                            return false;
                            }




                            • Replace it with below code


                            public function setTmpDir($path)
                            {
                            if (is_string($path)
                            && $this->_directory->isReadable($path)
                            && $this->directoryResolver->validatePath($this->_directory->getAbsolutePath($path), DirectoryList::ROOT)
                            ) {
                            $this->_tmpDir = $path;
                            return true;
                            }
                            return false;
                            }




                          Hope, This one is useful to understand you why this is not uploading.



                          Thank you






                          share











                          share


                          share










                          answered 8 mins ago









                          anant prajapatianant prajapati

                          313




                          313






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Magento Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f256095%2fimporting-product-images-from-url-problem%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              what is the purpose of having a “thru cal” on RF PCB?

                              What does Gandalf whisper to the Moth on the Orthanc in Isengard?

                              magento2 creating a lot of catalogrule_product_temp tables