[英]How to upload a file (Laravel)
我想在Laravel中上傳文件:
我將此代碼放在路線中
Route::post('upload', 'myconttest@test')->name('upload');
並將此代碼放入控制器
function test(Request $request){ $file=$request->file('myfile'); $filename=$file->getClinetOriginalName(); // $projectname; $path='files/'; $file->move($path,$filename); }
我在公共文件夾中創建了一個文件夾。 該代碼運行無錯誤,但文件未保存。
確保您的表單已啟用以上傳文件。 因此,請檢查是否設置了以下屬性。
<form action"" 'files' => true>
使用以下名稱空間
use Illuminate\\Support\\Facades\\Input;
然后試試這個:
$file = Input::file('myfile'); $filename = $file->getClinetOriginalName(); move_uploaded_file($file->getPathName(), 'your_target_path/'.$filename);
它的工作代碼請看這里
public function store(Request $request)
{
$checkval = implode(',', $request->category);
$input = $request->all();
$input['category'] = $checkval;
if ($request->hasFile('userpic')) {
$userpic = $input['pic'];
$file_path = public_path("avatars/$userpic");
if(File::exists($file_path)) {
File::delete($file_path);
}
$fileName = time().$request->userpic->getClientOriginalName();
$request->userpic->move(public_path('avatars'), $fileName);
$input['userpic'] = $fileName;
Product::create($input);
return redirect()->route('productCRUD.index')->with('success','Product created successfully');
}
}
我認為您可以嘗試以下方法:
首先,您將文件夾權限授予公用文件夾中的文件文件夾
function test(Request $request){
$file=$request->file('myfile');
$filename=$file->getClinetOriginalName();
$file->move(public_path().'/files/', $filename);
}
希望這項工作為您服務!
在控制器測試功能中,您需要指定文件文件夾的公共路徑,例如
$path = public_path('files/');
用於在給定的公用文件夾路徑上移動文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.