Ketika saya mencoba mengikuti dokumentasi tentang mengimpor file yang disimpan di server, saya mendapatkan Illuminate\Contracts\Filesystem\FileNotFoundException
mengatakan File not found at path: [path to file]
. Namun, file_exists($path);
mengembalikan nilai true.
php artisan make:import UsersImport --model=User
.use Maatwebsite\Excel\Facades\Excel;
use App\Imports\UsersImport;
Excel::import(new UsersImport, storage_path('app/test.xlsx'));
Perilaku yang diharapkan:
Menurut dokumen, baris dalam file harus diimpor ke tabel pengguna.
Perilaku sebenarnya:
Illuminate\Contracts\Filesystem\FileNotFoundException: File not found at path: [path]
@mattias-person
Coba yang ini sebagai gantinya:
Excel::import(new UsersImport, 'test.xlsx');
Lihat Mengimpor dari disk default untuk informasi selengkapnya tentang cara menangani file yang ingin Anda impor.
Ah, burukku. Saya melewatkan bagian dokumen itu. Terima kasih!
saya punya masalah yang sama, :(
pengontrol:
namespace App\Http\Controllers\Admin;
gunakan App\Model\Mahasiswa;
gunakan App\Model\UsersImport;
gunakan Maatwebsite\Excel\Facades\Excel;
gunakan App\Http\Controllers\Controller;
gunakan App\Http\Requests;
kelas UserimController memperluas Controller
{
impor fungsi publik()
{
Excel::import(new UsersImport, 'Mahasiswa.xlsx');
return back()->with('success', "Import data succesfull");
}
}
dan Kelas atau model saya:
aplikasi namespace\Model;
gunakan Aplikasi\Mahasiswa;
gunakan Maatwebsite\Excel\ConcernsToModel;
class UsersImport mengimplementasikan ToModel
{
/**
public function model(array $row)
{
return new Mahasiswa([
'npm' => $row[0],
'nama_mahasiswa' => $row[1],
'jenis_kelamin' => $row[2],
'tanggal_lahir' => $row[3],
]);
}
}
dan kesalahan:
Liga \ Flysystem \ FileNotFoundException
File tidak ditemukan di jalur: Mahasiswa.xlsx
dan:
fungsi publik assertPresent($path)
{
if ($this->config->get('disable_asserts', false) === false && ! $this->has($path)) {
lempar FileNotFoundException($path);
}
}
ada apa dengan pekerjaanku :(
hmmm
pengontrol
`
namespace App\Http\Controllers\Admin;
gunakan App\Model\Mahasiswa;
gunakan App\Model\UsersImport;
gunakan Maatwebsite\Excel\Facades\Excel;
gunakan App\Http\Controllers\Controller;
gunakan App\Http\Requests;
kelas UserimController memperluas Controller
{
impor fungsi publik()
{
Excel::import(new UsersImport, 'Mahasiswa.xlsx');
return back()->with('success', "Import data succesfull");
}
}
`
kelas atau model:
`
aplikasi namespace\Model;
gunakan Aplikasi\Mahasiswa;
gunakan Maatwebsite\Excel\ConcernsToModel;
class UsersImport mengimplementasikan ToModel
{
/**
public function model(array $row)
{
return new Mahasiswa([
'npm' => $row[0],
'nama_mahasiswa' => $row[1],
'jenis_kelamin' => $row[2],
'tanggal_lahir' => $row[3],
]);
}
}
`
dan kesalahan ini
Liga \ Flysystem \ FileNotFoundException
File tidak ditemukan di jalur: Mahasiswa.xlsx
dan database saya adalah
@GlennM tolong bantu saya :(
@GlennM tolong bantu saya :(
@Emha2403 Silakan periksa lokasi file Anda. Sepertinya file yang Anda coba impor tidak berada di lokasi yang tepat.
Anda seharusnya dapat menemukan direktori yang benar dengan memeriksa disk mana yang Anda gunakan dan menemukan jalur root yang sesuai untuk driver tersebut.
hai, saya menemui pertanyaan yang sama, dan saya yakin file saya telah diunggah di url yang tepat yang saya gunakan
hai, saya menemui pertanyaan yang sama, dan saya yakin file saya telah diunggah di url yang tepat yang saya gunakan
@ williams-young Bisakah Anda membuka terbitan baru (sesuai dengan templat terbitan) dengan menyebutkan semua informasi yang relevan? Terima kasih!
Ini bukan bug. Letakkan file excel Anda di folder "storage/app". itu menggunakan konfigurasi disk default di config/filesystems.php
xxxxxxxxxxxxxxxxxxx \ penyimpanan \ aplikasi
file excel harus masuk ke jalur berikut.
xxxxxxxxxxxxxxxxxxx\storage\app
el archivo excel debe ir en la siguiente ruta.
Silakan kirim pertanyaan atau komentar terkait dukungan dalam bahasa Inggris jika Anda ingin kami memberikan dukungan.
Saya mengerti bahwa perilaku ini didokumentasikan, tetapi sekali lagi itu tampak aneh dan tidak intuitif. Jika Anda memberikannya filePath absolut yang kembali sebagai true dari file_exists()....itu akan dimuat. Tampaknya ada banyak "gotcha" yang tidak perlu dengan paket ini, bahkan ketika mencoba melakukan operasi impor yang sangat mendasar.
Saya memiliki 4 kolom XLSX dengan 100 baris yang ingin saya impor ke dalam koleksi. Saya harus mengunjungi forum untuk masalah filePath, tanggal kembali sebagai bilangan bulat, dan mencoba mencari tahu apa gunanya kelas XYZImport yang dihasilkan ini ketika saya mencoba mengimpor xlsx kecil ke koleksi.
Jika Anda memberikannya filePath absolut yang kembali sebagai true dari file_exists().... itu harus memuat
Saya setuju dengan ini. Sepertinya itu menyebabkan kebingungan bagi banyak pengguna.
Saya setuju ini membingungkan.
Tidak bisakah dokumentasi menyebutkan jalur storage/app
default? Saya tahu ini dapat dikonfigurasi dan semuanya tetapi saya cukup yakin ini akan memberi pengguna dengan pengetahuan laravel yang lebih sedikit waktu yang lebih mudah.
Saya setuju ini membingungkan.
Tidak bisakah dokumentasi menyebutkan jalur
storage/app
default? Saya tahu ini dapat dikonfigurasi dan semuanya tetapi saya cukup yakin ini akan memberi pengguna dengan pengetahuan laravel yang lebih sedikit waktu yang lebih mudah.
Jika menurut Anda dokumentasi kekurangan beberapa informasi, Anda selalu dapat mengirimkan permintaan tarik ke dokumen. Anda dapat melakukannya dengan menggunakan tautan Help us improve this page!
terletak di bagian bawah setiap halaman.
hitung saya dengan bingung .. sedang mencoba melewati jalur absolut menggunakan base_path () karena file saya disimpan di luar folder penyimpanan dan di folder "modul" khusus .. tidak bisa membuatnya berfungsi, akhirnya harus pindah file saya ke jalur penyimpanan. Jika jalur yang diterima dimulai dengan garis miring, itu seharusnya hanya mengasumsikan bahwa itu adalah jalur absolut IMO
Ya, sebenarnya tampaknya bahkan setelah menambahkan file ke penyimpanan tidak dapat menemukannya. Dilihat dari respons kesalahannya, ia mencoba jalur relatif pada akhirnya :man_facepalming: .
Telah didokumentasikan selama beberapa bulan bahwa menggunakan jalur absolut dimungkinkan: https://docs.laravel-excel.com/3.1/imports/basics.html#importing -full-path
Saya akan mengunci tiket ini agar proses dukungan tetap lancar. Jika bug atau pertanyaan baru muncul, buat masalah baru yang menjelaskan kasus spesifik Anda.
Komentar yang paling membantu
Ini bukan bug. Letakkan file excel Anda di folder "storage/app". itu menggunakan konfigurasi disk default di config/filesystems.php
Periksa Bagian Dokumentasi Ini