Impor produk Magento 2 tidak akan mengimpor gambar

9

Saya mengimpor produk menggunakan impor CSV bawaan (Sistem - impor - produk)

Semua data saya diimpor dengan baik, tetapi saya mendapatkan kesalahan "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"

di css saya, saya telah menulis path base_image sebagai http://mywebsite.ca/pub/media/import/img/hose/jpg/Ach7938.jpg

sebagai ujian saya menghapus struktur folder saya, mengedit csv dan mencoba ini dan mendapat masalah yang sama, kesalahan yang sama http://mywebsite.ca/pub/media/import/Ach7938.jpg

Saya mencoba menulis path file sebagai /pub/media/import/img/hose/jpg/Ach7938.jpg tetapi tidak akan membiarkan saya melewati validator "periksa data".

Saya mengkonfirmasi izin pada folder dan file adalah 775

Saya menggunakan php 5.6, saya mencoba 7 tapi itu merusak seluruh situs dengan berbagai cara, jadi itu bukan pilihan

Sebagai catatan, jika saya menjalankan ini 20 kali berturut-turut, seluruh situs hang dan impor tidak akan berfungsi lagi sampai saya melakukan pengembalian sistem penuh (ada apa dengan itu?)

Dapatkah saya meletakkan gambar di server yang berbeda dan menautkannya dengan cara itu?

Justin Blayney
sumber

Jawaban:

7

path gambar harus seperti ini di csv: Ach7938.jpg

M1 kemudian akan mencari file gambar di media / impor jadi saya pikir itu akan menjadi pub / media / impor dalam M2

Anda bisa membuat produk dengan Gambar dan kemudian mengekspor data untuk mendapatkan petunjuk bagaimana nilai dalam csv harus

David Verholen
sumber
6

Saya mendapatkan kesalahan yang disebutkan "Imported resource (image) could not be downloaded from external resource due to timeout or access permissions"ketika saya menggunakan format file csv berikut untuk mengimpor gambar dalam versi Magento 2.0.0 (Windows 10).

Format csv yang saya gunakan adalah sebagai berikut >>

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

dan di bawah sub bagian File untuk mengimpor Direktori File Gambar Saya menggunakan path sebagai /pub/media/import

Saya memiliki gambar untuk diimpor di pub / media / lokasi impor

Masalah terpecahkan ketika saya menggunakan format csv berikut:

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

dan nilai Direktori File Gambar sebagai pub/media/import masukkan deskripsi gambar di sini

Masalah pada Github: https://github.com/magento/magento2/issues/2666

Mukesh
sumber
Pada Magento 2.3.2 lokasi gambar yang benar untuk impor adalah: <folder root Magento> / var / import / gambar
Isaac
5

Tidak yakin apakah ini ada hubungannya dengan masalah Anda karena ini adalah impor internal tetapi:

Dalam M2 saya memiliki gambar yang disimpan pub/media/importtetapi akan mendapatkan kesalahan yang sama

  1. Sumber daya yang diimpor (gambar) tidak dapat diunduh dari sumber daya eksternal karena batas waktu atau izin akses berturut-turut: 1, 2

Saya menghapus nama jalur dari file CSV saya dan hanya memiliki jalur gambar karena image.jpgtanpa garis miring dan berfungsi dengan baik sekarang.

sayang
sumber
Saya pikir ini khusus untuk kasus Anda. Gambar Anda adalah direktori di direktori bukan di sub direktori.
Stevie G
2

saya sekarang bekerja pada Magento 2.2.6 / 7
dan saya menghadapi kesalahan yang sama karena mekanisme jalur direktori dari sistem operasi yang berbeda.

mari kita asumsikan jika gambar berada di folder pub / media / import daripada yang seharusnya kita sebutkan path seperti itu:
1. di Windows (kebanyakan untuk localhost / tujuan pengembangan) - / pub / media / impor
2. di Ubuntu (kebanyakan untuk server produksi) - pub / media / impor

di sini satu tebasan ekstra menyebabkan masalah.

Naveen Jain
sumber
1

Jika Anda mengimpor dengan url gambar eksternal, Anda dapat melihat perbaikan terbaru saya .

Saya menemukan masalah berasal dari jalur duplikat untuk gambar setelah mengunduh dari gambar url eksternal.

Saya juga membuat permintaan tarik untuk itu.

Jokerbase
sumber
Itu berhasil bagi saya. Tidak dapat mengimpor gambar dari url eksternal lagi di 2.2.7.
Johnny Longneck
1

Baru saja memperbaiki masalah yang sama dengan mengatur pemilik gambar di pub / media / impor ke pengguna web.

Di var / log / exception.log saya menemukan yang berikut ini

[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)"} []

Di bawah instalasi Bitnami file diunggah melalui FTP sebagai pengguna 'bitnami' tetapi dalam instalasi ini pengguna web adalah 'daemon'

Saya menjalankan yang berikut ini untuk memperbaiki semua kepemilikan pada instalasi Bitnami dan sekarang mengimpor gambar. Jangan jalankan ini jika pengguna web Anda bukan daemon.

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``

Meskipun solusi ini adalah untuk instalasi BItnami, ini mungkin membantu menemukan masalah Anda.

DaveJ
sumber
0

Jalur gambar bisa atau tidak bisa tanpa /itu tidak masalah. Saya sudah mengimpor keduanya dan itu berhasil. Dalam masalah kasus saya adalah gambar yang diberikan di jalur tidak tersedia di folder. Saya mencobanya dengan mengimpor gambar yang tersedia dan tidak tersedia dan mendapatkan kesalahan jika gambar itu tidak tersedia. Path dapat berupa siapa saja, tidak harus pub/media/importhanya digunakan .

Shahzaib Hayat Khan
sumber
0

Untuk masalah impor gambar, saya telah memperbaiki masalah ini dari Uploader.phpfile. ubah di bawah ini kode jalur file dan berhasil mengimport gambar.

Jalur file: magento / vendor / magento / modul-katalog-impor-ekspor / Model / Impor / 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);

Untuk informasi lebih lanjut, lihat tautan github:

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

Kirti Nariya
sumber
0

Saya sendiri mengalami masalah ini, dan perbaikannya tidak ada hubungannya dengan format csv saya atau lokasi file gambar.

Apa yang menyebabkannya bagi saya adalah izin pada pub/media/importfolder. Tampaknya gambar ditempatkan di sini saat diunduh dari sumber eksternal. Ketika sistem tidak dapat membuat file di sini, ia melemparkan kembali masalah yang disebutkan.

Untuk memperbaikinya yang harus saya lakukan adalah menjalankan perintah berikut untuk memperbaikinya (dari pub/mediafolder):

sudo chmod 777 import

Setelah saya melakukan ini, produk saya diimpor tanpa kesalahan.

Daniel Black
sumber
0

Berikut ini adalah file yang akan di overite, modifikasi pada file vendor tidak disarankan.

vendor \ magento \ modul-katalog-impor-ekspor \ Model \ Impor \ Uploader.php

Lompat ke baris no 249 yaitu di sini "if ($ this-> getTmpDir ())" dan ganti dengan ($ this-> getTmpDir () && strpos ($ filePath, $ this-> downloadDir)! == 0)

Salin semua gambar ke direktori root Anda di bawah folder "gambar"

Sekarang buka CSV dan tetapkan gambar dengan URL lengkap seperti www.domain.com/images/test.jpg atau http://127.0.0.1/mage233/images/test.jpg

Sekarang kembali ke Admin dan unggah CSV ini tanpa menentukan jalur ke "Direktori File Gambar"

Kali ini seharusnya bekerja.

zuber bandi
sumber
0

Tampaknya pada 2.3.5 sudah menambahkan di jalur var / import / gambar. Pindahkan gambar Anda ke file ini kemudian impor tanpa menambahkan di jalur var / import / images ke alat impor gambar.

ToweringMeida
sumber