Javascript Cordova-捕获视频并检索base64数据
我正在使用phonegap录制视频,我想保存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) {
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,你找到解决方法了吗?