cordova文件传输插件不上传视频到服务器

时间:2017-01-11 10:53:34

标签: android ios cordova video cordova-plugins

  1. 我正在创建一个混合应用,我想将视频上传到 服务器。有时它会将视频上传到服务器,但大多数都是 时间插件显示上传进度为99%然后它给出 null成功回调。     提前致谢。 :-)

    /********* OPENING CAMERA TO CPTURE VIDEO ***********/
    function make_Video()
    {
        // capture callback
        var captureSuccess = function(mediaFiles) {
    
            var i, len , video_path;
    
            if(mediaFiles.length > 0)
            {
    
                for (i = 0, len = mediaFiles.length; i < len; i += 1)
                {
                    video_path = mediaFiles[i].fullPath;
    
                    Upload_Video(video_path);
    
                }
    
            }
    
        };
    
        // capture error callback
        var captureError = function(error)
        {
          console.log('Error Code: ' + error.code);
        };
    navigator.device.capture.captureVideo(captureSuccess, captureError, { quality: 100,destinationType: Camera.DestinationType.FILE_URI });
    
    }
    
    /****************STORING VIDEO ON SERVER******************/
    function Upload_Video(video_path)
    {
        var server =  server_link; // MY SERVER LINK
        var params = {'user_id':logged_in_user_id,'action':'update_intro_video'};
    
        if (server)
        {
    
                // Specify transfer options
                $('#modal_first_line').text(0+" %"+" Uploaded");
                $('#new_modal').show();
                var options         = new FileUploadOptions();
                options.fileKey     = "user_video";
    
          options.fileName = video_path.substr(video_path.lastIndexOf('/')+1);
    
                options.mimeType    = "video/mp4";
                options.chunkedMode = false;
                options.httpMethod  = "POST";
                options.params      = params;
                // Transfer picture to server
                var ft = new FileTransfer();
    
    
     //progree bar
     ft.onprogress = function(progressEvent) {
    
    if (progressEvent.lengthComputable){  var perc = Math.floor(progressEvent.loaded / progressEvent.total * 100); $('#modal_first_line').text(perc+" %"+"
    Uploaded"); } else {$('#new_modal').hide();
           console.log("sorry! Upload Failed..."); }  };
    
                ft.upload(video_path, encodeURI(server) , function(data) {
                            $('#new_modal').hide();
                            console.log("SERVER RESPONSE: " + JSON.stringify(data));
                          },
                          function(error)
                          {
                            $('#new_modal').hide();
                            console.log("sorry! Upload Failed...");
                          }, options);
        }
    
        else{
                $('#new_modal').hide();
                console.log("sorry! Can't Upload File.");;
        }
    }
    

1 个答案:

答案 0 :(得分:2)

解决。
   问题出在服务器端。配置正在进行中     麻烦。 post_max_size设置为8Mb,所以当视频限制时     超过8MB,服务器不允许保存视频。一世     将post_max_size增加到100MB。增加post_max_size     ,我做了以下步骤
     1.我在根目录中创建了一个文件 .user.ini      2.我将以下代码放在此文件中   file_uploads = O post_max_size = 100M upload_max_filesize     = 200M

Hope it will help someone.