等待POST请求 - AngularJS到Laravel

时间:2016-08-15 13:59:31

标签: angularjs laravel post file-upload

我正在从AngularJS发送一个简单的帖子请求到包含名称和图像的Laravel API。问题是当我提交请求时,它会在很长一段时间内处于待决状态。我检查了代码,但我认为没有任何因素导致请求花费那么多时间。

我正在使用ng-file-upload,而这正是我在Angular方面所做的事情:

    service.store = function(hotel){
      console.log('uploading..');
      return Upload.upload({
          url: 'api/hotels',
          method: 'POST',
          fields: hotel,
          file: [hotel.logo],
          fileFormDataName: 'file[]',
          headers:{
              'Content-Encoding': 'gzip'
          }
      }).success(function (response){
          console.log(response)
          service.result = response;
      }).error(function (response){
          service.errors = response;
      });
    };

和Laravel方面:

try{
    $hotel = new Hotel;
    $hotel->name = $request->name;
    $hotel->booking_availability = 0;
    $hotel->save();
    $slug = str_slug($request->name, "-");
    $hotel->slug = $slug."-".$hotel->id;
    $hotel->save();
    if(isset($_FILES['file'])){
        $type = explode("/", $_FILES['file']['type'][0]); 
        $name = date_timestamp_get(date_create())  . "." . $type[1];

        $target = 'img/hotels/logo/original/'.$name;
        $tmp_name = $_FILES['file']['tmp_name'][0];
        move_uploaded_file($tmp_name, "$target");

        $hotel->logo = $name;
        $hotel->logo_path = $target;
        $hotel->save();
    }

    return response()->json(['hotel' => $hotel], 200);
}catch(Exception $e){
    return response()->json(['error' => $e], 500);
}

可能出现这么长时间的错误是什么?如何进一步调试此问题? Request Time Screenshot

修改

我尝试在发送帖子请求之前使用gzip来压缩内容,以减少所需的时间,但没有任何改变。

0 个答案:

没有答案