使用laravel 5.3中的邮递员在服务器上上传图像文件的问题?

时间:2017-01-30 06:59:27

标签: php laravel laravel-5.3 intervention

我正在使用干预文件调整大小功能和文件上传。 在控制器中,我只是检查hasFile()。因此,即使我使用邮递员正确地发送它,每次我得到“否”回应。可能是什么问题?

我的路线

Route::post('contact/image/upload',[  
  'as'=> 'intervention.postresizeimage',
  'uses'=>'contactController@upload_image'
]);
控制器中的

代码

public function upload_image(Request $request){

      if((preg_match("/^[789]\d{9}$/", $request->header('UID')))){
        if($request->hasFile('photo'))
          return "yes";
        else
          return "no";


        $photo = $request->file('photo');
        $imagename = time().'.'.$photo->getClientOriginalExtension(); 

        $destinationPath_thumb = storage_path('images/thumbnail_images');
        $thumb_img = Image::make($photo->getRealPath())->resize(100, 100);
        $thumb_img->save($destinationPath_thumb.'/'.$imagename,80);

        $destinationPath_medium = storage_path('images/medium_images');
        $medium_img = Image::make($photo->getRealPath())->resize(500, 500);
        $medium_img->save($destinationPath_medium.'/'.$imagename,80);

        $destinationPath_original = storage_path('images/original_images');
        $photo->move($destinationPath_original, $imagename);

        $user = \App\User::select(['inst_id'])->where('mobile','=',$request->header('UID'))->first();

        $update_img = \App\Contact::where([['id','=',$request->ID],['inst_id','=',$user->inst_id]])->update(['image'=>$imagename]);

        if($update_img)
          $response = response()->json(['data'=>[], 'error'=>0,  'error_msg'=>'', 'message'=>'Profile updated']);
        else
          $response = response()->json(['data'=>[], 'error'=>1,  'error_msg'=>'some went wrong', 'message'=>'Please try again']);
      }
      else
         $response = response()->json(['data'=>[], 'error'=>1,  'error_msg'=>'wrong mobile in UID header','message'=>'wrong mobile no. in header']);

    return  $response;

  }

2 个答案:

答案 0 :(得分:4)

我也认为照片不是发布数据的正确名称。 你可能会看到Postman的给定图像:

Postman Body

Postman Headers

答案 1 :(得分:1)

表单标记中的enctype属性是什么?如果你上传文件,它应该是这样的:

<form method="post" enctype="multipart/form-data">