图像不会进入数据库,文件名只保存tmp名称?

时间:2015-12-14 11:48:20

标签: image laravel upload

我是laravel 5.1的新手,当我上传图片时,他们会进入文件夹,但数据库实际名称不保存。数据库的名称如下:C:\wamp\tmp\phpCA22.tmp

1 个答案:

答案 0 :(得分:1)

由于OP没有透露代码。

我正在给予一般的工作

第1步: 如果你得到输入文件

if(Input::file())
{
//Your stuff here
}

第2步:获取文件名

$image = Input::file('image');
$filename = $image->getClientOriginalExtension();

注意:

  1. 不要忘记在表单中添加multipart/form-data

  2. 将图片名称设为image

  3. 更新:

    以下是您需要的更新代码

    public function uploadImage(Request $request) 
    {
     if($request->hasFile('image'))
     { 
     $destinationPath=public_path().'/images/';
     $file = $request->file('image');
     $filename=$file->getClientOriginalName();
     $request->file('image')->move($destinationPath,$filename);
     } 
     $inputs['filename'] =  $request->file('image'); 
     #$inputs['yourkey'] = 'yourdata';
     $users = Upload::create($inputs); 
     return redirect('user/upload'); 
     }
    

    $inputs是数组。您应该在模型中的填充中使用filename,同时确保表格中存在filename

    更新2:由于OP提供了coloumn名称

    public function uploadImage(Request $request) 
    {
     if($request->hasFile('image'))
     { 
     $destinationPath=public_path().'/images/';
     $file = $request->file('image');
     $filename=$file->getClientOriginalName();
     $request->file('image')->move($destinationPath,$filename);
     } 
     $inputs['image'] =  $request->file('image'); 
     $users = Upload::create($inputs); 
     return redirect('user/upload'); 
     }