我想在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);
}
我在公共文件中创建一个文件夹。代码运行时没有错误,但文件未保存。
答案 0 :(得分:0)
确保您的表单已启用上传文件。因此,请检查是否设置了以下属性。
<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);
答案 1 :(得分:0)
它的工作代码请看这个
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');
}
}
答案 2 :(得分:0)
我想你可以试试这个:
首先,您将文件夹权限授予公用文件夹
中的文件文件夹function test(Request $request){
$file=$request->file('myfile');
$filename=$file->getClinetOriginalName();
$file->move(public_path().'/files/', $filename);
}
希望这对你有用!!!
答案 3 :(得分:0)
在控制器测试功能中,您需要提供文件夹的公共路径,如
$path = public_path('files/');
用于在给定的公用文件夹路径上移动文件。