gpt4 book ai didi

javascript - FileReader只会读取小文件,否则返回null

转载 作者:行者123 更新时间:2023-12-03 00:58:01 28 4
gpt4 key购买 nike

所以我目前正在使用以下代码将文件读取为 base64:

function getBase64(file) {
return new Promise(function(resolve, reject) {
var fr = new FileReader();
fr.readAsDataURL(file);
fr.onload = resolve(fr);
});
}

现在,每当我加载超过一定大小的文件(不确定它是什么)时,它都会为 fr.result 返回 null。

不过,这在 Google Chrome 中似乎不是问题。它将返回任何文件大小的 base64。我目前正在使用 Microsoft Edge 对其进行测试。

最佳答案

resolve(fr) 正在同步计算,应包装在函数中。您仍然看到一点数据,因为 readAsDataURL 正在异步运行,并且在调用 resolve(fr) 之前已经成功读取了一些数据。

您可能也应该在开始读取文件之前注册处理程序。

function getBase64(file) {
return new Promise(function(resolve, reject) {
var fr = new FileReader();
fr.onload = function() { resolve(fr); };
fr.readAsDataURL(file);
});
}

关于javascript - FileReader只会读取小文件,否则返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52740296/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com