分段上传示例here提到了JPEG数据。究竟是什么?如何从HTML IMG元素中获取它?我尝试发送dataUri(在使用drawImage()创建一个画布并提取其dataUri之后;它没有用。
this.sendToDrive = function () {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var img = document.createElement("img");
var that = this;
img.addEventListener("load", function () {
ctx.drawImage(img, 0, 0);
var dataUrl = canvas.toDataURL("image/jpeg", 1);
//window.open(dataUrl);
var binaryData = dataUrl.replace(/^data:image\/(png|jpeg);base64,/, "");
that.transmitFile(dataUrl, that.title(), token);
});
img.setAttribute("src", this.src);
canvas.width = img.width;
canvas.height = img.height;
}
我确实在一个新标签(window.open())中获得了完整的图像,但是如果我使用'transmitFile()'方法传输它 - 它只是将一个多部分帖子发送到谷歌驱动器并导致200,并下载在驱动器中创建的文件,它不起作用。我导致错误解释JPEG图像文件(错误解释JPEG图像文件(不是JPEG文件:以0x2f 0x39开头))。数据网址肯定是正确的,但它是否需要作为'jpeg数据'发送?如果我使用window.btoa(dataUrl)或window.atob(dataUrl),我会遇到类似的错误。