2017-02-11 17 views
0

Я хочу загрузить большие видеофайлы mp4 (500MB - 1GB) в мое угловое приложение, используя rest api (и сжал их раньше, если это возможно). Я пытался использовать ng-file-upload, но он не работает с видео размером более 20 МБ.Загрузка больших видеофайлов mp4 с помощью angularjs

Как я могу достичь такой задачи?

PS: мой стороне сервера написано в PHP

ответ

0

Из приведенного выше описания, это звучит, что может быть ограничение сервера на максимальный размер файла, который может быть загружен - это довольно распространенный и способ установить или изменить максимальный размер будет зависеть от сервера. В качестве примера здесь некоторые конфигурации для хранения AWS S3, который показывает минимальные и максимальных размеры файлов:

var s3Policy = { 
     'expiration': expiration, 
     'conditions': [{ 
       'bucket': aws.bucket 
      }, 
      ['starts-with', '$key', path], 
      { 
       'acl': readType 
      }, 
      { 
       'success_action_status': '201' 
      }, 
      ['starts-with', '$Content-Type', request.type], 
      ['content-length-range', 2048, 124857600], //min and max 
     ] 
    }; 

Если вы просто нужны несколько примеров Угловых кодов для загрузки видео, то ниже код является примером того, как загрузить видео с веб-страницы/приложения на сервере - это AngularJS 1:

// Controls video upload from web uses module and apraoch at: https://github.com/danialfarid/angular-file-upload 
app.controller('WebUploadCtrl',[ '$scope', '$upload','colabConfig', function($scope, $upload, colabConfig) { 
    console.log("WebUploadCtrl controller"); 
    $scope.progressPerCent = 0; 
    $scope.onFileSelect = function($files) { 
     console.log("file selected for upload..."); 
     //$files: an array of files selected, each file has name, size, and type. 
     for (var i = 0; i < $files.length; i++) { 
      var file = $files[i]; 
      $scope.upload = $upload.upload({ 
      url: yourConfig.yourBaseURL + "/web_video_upload", 
      method: 'POST', 
      //headers: {'header-key': 'header-value'}, 
      //withCredentials: true, 
      data: {myObj: $scope.myModelObj}, 
      file: file, 
      }).progress(function(evt) { 
       console.log("progress: " + (evt.position/evt.totalSize)*100); 
       //$scope.$apply(function() { 
        $scope.progressPerCent = (evt.position/evt.totalSize)*100; 
       //}); 
      }).success(function(data, status, headers, config) { 
      // file is uploaded successfully 
      console.log(data); 
      }).error(function() { 
      console.log("Error on web video upload"); 
      }); 
     } 
    } 
}]); 
0

Вы можете попытаться увеличить свойство в файле конфигурации веб

<security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="30000000" /> 
     </requestFiltering> 
    </security>