Это мой код:readAsBinaryString() не работает должным образом
var reader = new FileReader();
reader.onload = function(e) {
download(reader.result, "Test.stl");
}
reader.readAsBinaryString(input_file_field.files[0]);
Результат файла:
Исходный файл:
Выход почти то же самое с небольшими различиями (и это i s не проблема функции «загрузить», то же самое, если я помещаю журнал в консоль).
Любые идеи о том, что происходит?
Edit:
Это код, я использую для бинарного преобразования (не работает ни):
var reader = new FileReader();
reader.onload = function(e) {
var fileData = reader.result;
var bytes = new Uint8Array(fileData);
var binaryText = '';
for (var index = 0; index < bytes.byteLength; index++) {
binaryText += String.fromCharCode(bytes[index]);
}
download(binaryText, "Test.stl");
}
reader.readAsArrayBuffer(input_field.files[0]);
Из страницы MDN в ['readAsBinaryString'] (https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsBinaryString): * Обратите внимание, что этот метод теперь устарел в соответствии с 12 Июль 2012 Рабочий проект от W3C. * И * Этот метод был удален из стандарта FileAPI. Вместо этого следует использовать FileReader.readAsArrayBuffer(). * ... Так, может быть, это? –
Что такое настройка «MIME» в текстовом редакторе? Почему вы не используете '.readAsText()'? – guest271314
Использование 'readAsText' привело к такому же результату: файл поврежден. Я также попытался использовать 'readAsArrayBuffer', а затем преобразовать в Uint8Array, но у меня есть тот же результат, что и с' readAsBinaryString'. – fsinisi90