【问题标题】:File not found at path: file.xlsx在路径中找不到文件:file.xlsx
【发布时间】:2021-12-01 17:14:49
【问题描述】:

我正在使用 Maatwebsite 包通过上传 Excel 文件将一些数据插入数据库。

这是我的路线:

Route::get('import-form', 'Olympiad\OlympiadExamExecutionController@importForm');
Route::post('import-form', 'Olympiad\OlympiadExamExecutionController@executeImport')->name('addcutsom.execution');

这是我的控制器:

use App\Imports\CustomExamImport;
use App\Olympiad\OlympiadExamExecution;
use Excel;

public function importForm()
{
    return view('import');
}

public function executeImport(Request $request)
{
    Excel::import(new CustomExamImport, $request->file);
    return "Records are imported";
}

这里是CustomExamImport

class CustomExamImport implements ToModel
{
    public function model(array $row)
    {
        $user_id = DB::table('members')->where('mbr_national_code', $row[3])->value('mbr_usr_id');
        return new OlympiadExamExecution([
            'oex_correct_answer_count' => $row[7],
            'oex_wrong_answer_count' => $row[8],
            'oex_no_answer_count' => $row[9],
            'oex_score' => $row[10],
        ]);
    }
} 

这是刀锋形态:

<form action="{{ route('addcutsom.execution') }}" method="POST">
    @csrf
    <label class="control-label">Upload File:</label>
    <input class="form-control" name="file" type="file">

    <button class="btn btn-primary" type="submit">ثبت</button>  
</form>

现在,当我尝试从计算机上传 Excel 文件时,出现以下错误:

在路径中找不到文件:file.xlsx

那么这里出了什么问题?

【问题讨论】:

  • 在处理之前将文件移动到您的上传路径,然后将其删除。在 tmp 文件夹中处理它不会导致错误。
  • @N69S 你能把它解释为答案吗,我真的坚持这个!
  • 首先尝试$request-&gt;file('file')-&gt;getPath()而不是$request-&gt;file,你应该尝试在手之前移动文件laravel.com/docs/8.x/filesystem#file-uploads
  • @N69S 在 null 上调用成员函数 getPath()

标签: php laravel laravel-5.8 maatwebsite-excel laravel-excel


【解决方案1】:

你得到了错误

在 null 上调用成员函数 getPath()

因为文件没有上传。

将您的表单更改为包含enctype 以上传文件

<form action="{{ route('addcutsom.execution') }}" method="POST" enctype="multipart/form-data"> 

您可以在here属性上找到模式详细信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多