我在Windows 7系统上使用Laravel进行文件上传时遇到了麻烦。上传文件没有问题,但是当我看到目标目录时,上传的文件不存在。
在Google和论坛中搜索后,我发现“温度”可能会出现问题。 。目录
dd(sys_get_temp_dir())
的输出为C:\Users\RAGHAV~1\AppData\Local\Temp
。
但是没有名为RAGHAV~1
的目录(我已启用查看隐藏文件夹)。在php.ini
中,upload_tmp_dir
设置为C:\xampp\tmp
。
这些设置之间是否存在冲突?你能帮助我让文件上传工作吗?
处理上传文件的控制器中的代码:
$validator = $this->brandValidator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
$image_directory = public_path() . '/Uploads/Products/';
$result = $request->file('image')->move($image_directory);
$brand_name = $request->input('brand_name');
$image = $image_directory . $request->file('image')->getClientOriginalName();
$id = Brand::create([
'brand_name' => $brand_name,
'image' => $image,
]);
答案 0 :(得分:0)
您尚未指定文件的路径。只需更换此
即可$image_directory = public_path() . '/Uploads/Products/';
$result = $request->file('image')->move($image_directory);
用这个
$file = $request->file('image');
$filename = $file->getClientOriginalName().'.' . $file->getClientOriginalExtension();
$file->move(public_path('Uploads/Products/'), $filename);