Rumah > Soal Jawab > teks badan
P粉8521147522023-09-04 09:39:51
Kaedah anda tidak betul. Dalam Laravel, kitaran hayat permintaan bermula apabila permintaan tiba di pelayan dan berakhir apabila respons dihantar semula ke penyemak imbas pengguna. Apabila anda membuat baris gilir kerja dalam Laravel, ini bermakna kerja itu akan diproses kemudian, mungkin juga pada pelayan yang berbeza. Apabila kerja benar-benar berjalan, kitaran hayat permintaan asal telah tamat. Oleh itu, anda tidak boleh mengakses data permintaan dalam kerja beratur.
Jika anda perlu menggunakan fail yang dimuat naik dalam kerja beratur, anda perlu menyimpan fail yang dimuat naik di lokasi yang boleh diakses oleh kerja itu. Ini boleh menjadi sistem fail pelayan anda atau perkhidmatan storan awan.
Dalam pengawal anda, anda telah menyimpan sementara fail untuk diproses dengan Excel:
$file = request()->file('file');
Walau bagaimanapun, anda tidak meneruskan fail, itulah sebabnya fail tidak tersedia semasa kerja sedang dijalankan. Anda perlu menyimpan fail anda di tempat yang lebih kekal.
Selepas menyimpan fail secara kekal, anda boleh membaca fail dari lokasi baharu.