2017-01-11 51 views
1
  1. 我正在创建一个混合应用程序,我想上传视频到 服务器。有时它会将视频上传到服务器,但大部分时间插件显示上传进度为99%,然后在成功回调中给出 为空。 在此先感谢。 :-)cordova文件传输插件没有上传视频到服务器

    /********* 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.");; 
        } 
    } 
    

回答

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. 
相关问题