[英]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.