Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cordova-捕获视频并检索base64数据_Javascript_Cordova_Encoding_Base64 - Fatal编程技术网

Javascript Cordova-捕获视频并检索base64数据

Javascript Cordova-捕获视频并检索base64数据,javascript,cordova,encoding,base64,Javascript,Cordova,Encoding,Base64,我正在使用phonegap录制视频,我想保存base64数据编码字符串。到目前为止我已经试过了 function captureSuccess(mediaFiles) { var i, path, len; path = mediaFiles[0]; win(path); } function win(file) { var reader = new FileReader(); reader.onloadend = function (evt) {

我正在使用phonegap录制视频,我想保存base64数据编码字符串。到目前为止我已经试过了

function captureSuccess(mediaFiles) {
    var i, path, len;
    path = mediaFiles[0];
    win(path);
}

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsDataURL(file); 
};

function captureError(error) {
    navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
}

function captureVideo() {
    navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 1});
}
我使用了中指定的readAsDataURL。
evt.target.result
的输出是
数据:视频/mp4;base64,
但文件类型后没有任何编码数据。

为了获得视频的完整base64数据,我还需要添加其他内容吗

我真的很难找到任何能帮助我的东西。非常感谢您的帮助。

var b64toBlobAlt=function(dataURI,contentType){
var b64toBlobAlt = function(dataURI, contentType) {
  var ab, byteString, i, ia;
  byteString = atob(dataURI.split(',')[1]);
  ab = new ArrayBuffer(byteString.length);
  ia = new Uint8Array(ab);
  i = 0;
  while (i < byteString.length) {
    ia[i] = byteString.charCodeAt(i);
    i++;
  }
  return new Blob([ab], {
    type: contentType
  });
};
var path = mediaFiles[0].fullPath;

window.resolveLocalFileSystemURL(path, function(fileEntry) {
  return fileEntry.file(function(data) {
    var reader = new FileReader();
    reader.onloadend = function(e) {
      var blob = b64toBlobAlt(e.target.result, 'video/mp4');
      if (blob) {
         // do whatever you want with blob
        });
      }
    };
    return reader.readAsDataURL(data);
  });
});
var ab,byteString,i,ia; byteString=atob(dataURI.split(',)[1]); ab=新阵列缓冲区(byteString.length); ia=新的UINT8阵列(ab); i=0; while(i<代码> > KeHoaGAN,请考虑添加一个关于代码如何工作的解释。@ KeoHaaGAN代码停留在<代码> Reader。ReadasData(数据)< /代码>。它没有给出任何错误,但没有进入
onloadend
函数。嘿,Pooshonk,你找到解决方法了吗?