gpt4 book ai didi

javascript - 如何比较 JavaScript 中的两个 blob?

转载 作者:行者123 更新时间:2023-11-30 15:53:33 25 4
gpt4 key购买 nike

我使用下面的代码在 JavaScript 中加载了两个 blob 文件。

我想比较它们,看看它们是否完全相同。

(blob1 === blob2) 返回 false,即使每个 blob 的报告大小为 574 字节。我做错了什么?

  getHTTPAsBlob(url, callback) {
let cacheBust = Math.random().toString()
url = url + '?&cachebust=' + cacheBust
let xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (xhr.status == 200) {
// get binary data as a response
let fileData = this.response;
let contentType = xhr.getResponseHeader("content-type")
var reader = new FileReader()
reader.onload = (e) => {
console.log(reader.result)
console.log(fileData)
callback(null, {
Body: reader.result,
Blob: fileData,
ContentType: contentType,
Etag: null,
LastModified: null,
})
}
reader.readAsText(fileData)
} else {
callback(xhr)
}
}
xhr.send();
}

最佳答案

你必须使用 FileReader 来比较它们

FileReader 的文档在MDN .查看选择最适合您的数据的方法。

比较两个 blob 的一种无用的方法是查看它们的大小。尽管两个相同大小的 blob 无论其内容如何都会返回 true。

例子

new Blob([Math.random()]).size == new Blob([Math.random()]).size//true.

关于javascript - 如何比较 JavaScript 中的两个 blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38940976/

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