我的Laravel 5.7应用程序中有一个表格,允许用户上传CSV文件以导入数据。它已经工作了几个星期。但是,突然,它开始为表单以multipart/form-data
为enctype
的所有POST请求返回404错误。奇怪的是,当我将其更改为URLEncoded
*时,没有404。
我尝试了几件事。
php artisan route:list
的输出以确认路由是否存在。刀片表格
<form action="/import/createParts/upload/" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="csv_upload_file">Select the File</label>
<input type="file" name="csv_upload_file">
</div>
@csrf
<button type="submit">Upload</button>
</form>
路线
Route::prefix('import')->group(function () {
Route::get('/createParts', 'Import\CreatePartsController@index');
Route::post('/createParts/upload', 'Import\CreatePartsController@upload');
});
理想情况下,这应该将表单传递给函数,然后发生另一个过程。
答案 0 :(得分:0)
确保为您的路线设置名称,这很有用。
路线
Route::prefix('import')->group(function () {
Route::post('createparts/upload', 'Import\CreatePartsController@upload')
->name('import.createparts.upload');
});
刀片
<form method="post" action="{{ route('import.createparts.upload') }}"
enctype="multipart/form-data">
@csrf
<div class="form-group">
<label for="csv_upload_file">Select the File</label>
<input type="file" name="csv_upload_file">
</div>
<button type="submit">Upload</button>
</form>
答案 1 :(得分:0)
命名路线概念是处理路线的更简单方法。
在id
ROW_NUMBER
在SELECT ROW_NUMBER() OVER (ORDER BY auto_increment) AS rn
FROM yourTable;
SET @row_number = 0;
SELECT
(@row_number:=@row_number + 1) AS rn
FROM yourTable
ORDER BY auto_increment;