【问题标题】:cordova filetransfer can not upload video in IOScordova filetransfer无法在IOS中上传视频
【发布时间】:2017-08-24 03:34:29
【问题描述】:

我用的是cordova 7.1,IOS和安卓可以上传图片、音频,IOS不能上传视频。 从 xcode 调试控制台,我收到这样的消息:

文件数据长度:121096 文件传输已完成,响应代码为 200。

但是,当我在服务器中调试时它是空的。并且 anroid 运行良好。

【问题讨论】:

    标签: cordova


    【解决方案1】:

    如果您在文件上传时调用另一个页面,那么它将不起作用。 所以尝试调用页面传输使用 setTimeout()。

    //======= Will working =======
    function load(){
    //Do your stuff...
    uploadvideo();
    setTimeout(function(){
    window.location.replace("abc.html");
    },6000); //6000 = 6000 milliseconds = 6 seconds
    }
    
    uploadvideo(){
     //call plugin
    }
    
    
    //======= Will not working =======
    function load(){
    //Do your stuff...
    uploadvideo();
    window.location.replace("abc.html");
    }
    
    uploadvideo(){
     //call plugin
    }
    

    【讨论】:

    • 其实我只是上传视频并在其中添加一个带有视频控件的div,页面不会重新加载。
    • var captureVideoSuccess = function(mediaFiles) { var file_path = mediaFiles[0].fullPath; asyncReadFileAsBase64(file_path, function(base64_data, fs) { var id_postfix = new Date().getTime(); var html = ''; add_to_chat_box(id_postfix, html); asyncUpload(fs.toURL(), "video/mp4", null, null, null, function(percent) { //更新进度 }); }); };
    • var asyncUpload = function(file_path, mine_type, upload_option_setter, success_callback, error_callback, progress_callback) { var options = new FileUploadOptions(); options.fileKey = "文件"; options.fileName = file_path.substr(file_path.lastIndexOf('/')+1); options.mimeType = mine_type; //options.chunkedMode = false;
    【解决方案2】:

    现在,我用javascript在IOS上传视频,效果很好。

    【讨论】:

      猜你喜欢
      • 2017-04-18
      • 2015-12-09
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      • 2018-02-08
      • 2020-01-26
      相关资源
      最近更新 更多