无法上传 Laravel 8 中的文件
Unable to upload files in Laravel 8
我无法通过表单上传任何文件。存储已链接。
HTML:
<form enctype="multipart/form-data" action="{{ route('home.profile.photo.update') }}" method="post">
@csrf
@method('PUT')
<input type="file" name="image" id="image">
<input type="submit">
</form>
PHP.ini:
[PHP]
post_max_size = 100M
upload_max_filesize = 100M
variables_order = EGPCS
路线:
Route::put('/home/profile/photo', [App\Http\Controllers\HomeController::class, 'updateProfileImage'])->name('home.profile.photo.update');
HomeController updateProfileImage():
public function updateProfileImage(Request $request){
dd($request->input());
$request->validate(
[
'image' => 'required',
]
);
$result = Auth::user()->addMedia($request->input('image'))->toMediaCollection('user-images');
return $result;
}
DD输出
array:2 [▼
"_token" => "nLJx2jVbBCfCJUAsIPS7LJGVv7Rpcb72yPXqMO7v"
"_method" => "PUT"
]
使用 enctype="application/x-www-form-urlencoded" DD 输出:
array:3 [▼
"_token" => "nLJx2jVbBCfCJUAsIPS7LJGVv7Rpcb72yPXqMO7v"
"_method" => "PUT"
"file" => "IMG_5626.jpg"
]
但是如果我尝试存储文件,我会收到以下错误:
Spatie\MediaLibrary\MediaCollections\Exceptions\FileDoesNotExist
File `IMG_5626.jpg` does not exist
这让我发疯,似乎一切都设置正确。有什么想法吗?
您需要访问上传的“文件”部分。变化
$request->input('image')
至
$request->file('image')
#HomeController代码应该是这样的#
public function updateProfileImage(Request $request){
$request->validate(
[
'image' => 'required',
]
);
$result = Auth::user()->addMedia($request->file('image'))->toMediaCollection('user-images');
return $结果;
}
我无法通过表单上传任何文件。存储已链接。
HTML:
<form enctype="multipart/form-data" action="{{ route('home.profile.photo.update') }}" method="post">
@csrf
@method('PUT')
<input type="file" name="image" id="image">
<input type="submit">
</form>
PHP.ini:
[PHP]
post_max_size = 100M
upload_max_filesize = 100M
variables_order = EGPCS
路线:
Route::put('/home/profile/photo', [App\Http\Controllers\HomeController::class, 'updateProfileImage'])->name('home.profile.photo.update');
HomeController updateProfileImage():
public function updateProfileImage(Request $request){
dd($request->input());
$request->validate(
[
'image' => 'required',
]
);
$result = Auth::user()->addMedia($request->input('image'))->toMediaCollection('user-images');
return $result;
}
DD输出
array:2 [▼
"_token" => "nLJx2jVbBCfCJUAsIPS7LJGVv7Rpcb72yPXqMO7v"
"_method" => "PUT"
]
使用 enctype="application/x-www-form-urlencoded" DD 输出:
array:3 [▼
"_token" => "nLJx2jVbBCfCJUAsIPS7LJGVv7Rpcb72yPXqMO7v"
"_method" => "PUT"
"file" => "IMG_5626.jpg"
]
但是如果我尝试存储文件,我会收到以下错误:
Spatie\MediaLibrary\MediaCollections\Exceptions\FileDoesNotExist
File `IMG_5626.jpg` does not exist
这让我发疯,似乎一切都设置正确。有什么想法吗?
您需要访问上传的“文件”部分。变化
$request->input('image')
至
$request->file('image')
#HomeController代码应该是这样的#
public function updateProfileImage(Request $request){
$request->validate(
[
'image' => 'required',
]
);
$result = Auth::user()->addMedia($request->file('image'))->toMediaCollection('user-images');
return $结果;
}