我不认为自己是一名程序员,所以在这个网站上搜索了很多问题的答案。然而,我无法解决这个问题。
我正在尝试使用JavaScript(实际上是我目前唯一能尝试的语言)上传文件并将其二进制数据加载到ArrayBuffer中进行编辑。我使用FileSaver.js和Blob.js来提高兼容性。用户选择文件后,加载文件。当加载开始时,FileReader使用readAsArrayBuffer将文件加载到ArrayBuffer中。我目前已将其设置为通过警报检查ArrayBuffer的内容,但最终将删除该警报并直接处理数据。
如果我去掉索引,警报会知道它正在显示一个ArrayBuffer,但是每当我选择一个索引(例如[0]),它就告诉我它未定义。如何将文件数据加载到ArrayBuffer中?它将如何分割?最好每个索引都有1个字节。
function loadButtonPressed() {
var loadedFile = document.getElementById('loadFile').files;
var testFile = loadedFile[0];
var reader = new FileReader();
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) {
alert(String(reader.result[0]));
}
};
reader.readAsArrayBuffer(testFile);
}