Я пытаюсь получить двоичные данные с моего сервера couchdb. Но я могу их использовать. Ответ содержит строку, которая содержит двоичные данные, но если я попытаюсь выполнить код в base64 с помощью функции btoa, функция даст мне эту ошибку:как преобразовать двоичные данные в base64 из вложений couchdb
Uncaught InvalidCharacterError: 'btoa' failed: строка, которая должна быть закодирована, содержит символы, находящиеся за пределами диапазона Latin1.
Я знаю, что я могу получить данные, напрямую закодированные в base64, но я не хочу.
$.ajax({
url: "http://localhost:5984/testdb/7d9de7a8f2cab6c0b3409d4495000e3f/img",
headers: {
Authorization: 'Basic ' + btoa("name:password"),
},
success: function(data){
/*console.log(JSON.parse(jsonData));
console.log(imageData);*/
document.getElementById("immagine").src = "Data:image/jpg;base64," + btoa(data);
console.log(data);
}
});
любая идея?
функция btoa, которую я использую, хорошо работает. имя строки: пароль правильно закодирован. Я думаю, что проблема заключается в данных, которые я получаю с сервера couchdb. – Morris
@Morris 'btoa' не является бинарным, поэтому вы должны написать пользовательский номер –
. но, тем не менее, ваш код не работает. base64, который я получаю с вашим кодом, не совпадает с исходным изображением. – Morris