2 回答

TA貢獻1877條經(jīng)驗 獲得超1個贊
甚至有必要做
$request->hasFile('file')
-block嗎?
主要的問題將是這個邏輯是否在場景中執(zhí)行$request
也不會有一個名為文件file
。
如果沒有hasFile
調(diào)用,缺少文件的請求file
將在 line 上拋出錯誤(“Call to a member function isValid() on null”)$file->isValid()
,就像$file
null 一樣。

TA貢獻1818條經(jīng)驗 獲得超11個贊
首先,您必須php artisan storage:link在 Laravel 文件夾中運行以在 Laravel 應(yīng)用程序中設(shè)置存儲鏈接。驗證器將幫助您了解文件是否已上傳。
并且 hasFile 函數(shù)檢查文件是否已上傳,因此通過我們可以檢查文件是否成功上傳的方法,您可以為用戶方便的 webapp 發(fā)出警報。
public function store(Request $request){
$this->validate($request, [
'file' => 'image|nullable|max:1999'
]);
// Handle File Upload
if($request->hasFile('file')){
// Get filename with the extension
$filenameWithExt = $request->file('file')->getClientOriginalName();
// Get just filename
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
// Get just ext
$extension = $request->file('file')->getClientOriginalExtension();
// Filename to store
$fileNameToStore= $filename.'_'.time().'.'.$extension;
// Upload Image
$path = $request->file('file')->storeAs('public/file', $fileNameToStore);
return redirect()->back() ->with('alert', 'Updated!');
} else {
$fileNameToStore = 'noimage.jpg';
}
}
- 2 回答
- 0 關(guān)注
- 433 瀏覽
添加回答
舉報