![](/img/trans.png)
[英]reader.readasdataurl is not working in for loop javascript jquery
[英]reader.readAsDataURL resulting in a defectuous base64 string?
我正在使用以下javascript代码读取文件并将其上传到服务器:
var reader = new FileReader();
reader.onloadend = function() {
var bytes = reader.result;
var ext = file.name.split(".").pop();
xhr.send("bytes="+bytes+"&type="+ext);
}
reader.readAsDataURL(file);
当我检查将哪些参数发送到服务器(在开发人员控制台中)时,我看到以下内容:
这会导致非法的base64字符错误(我认为是由字符串中的空格引起的)。
有人知道该如何解决吗?
readAsDataURL
不会产生干净的base64字符串,而是会产生以下格式的字符串:
data:[<mediatype>][;base64],<data>
这种格式称为数据URI 。 您可以通过拆分获取原始的base64数据:
const base64 = reader.result.split (",").pop ()
如果您的数据仍然无效,请使用readAsBinaryString
(返回文件/博客),然后使用window.btoa
将其转换为base64字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.