我是一个完全的javascript初学者,我正在使用精灵宝可梦api https://pokeapi.co/来获得精灵宝可梦图片。获得图像后,我尝试将其转换为base64格式,但出现以下错误
pokemon.js:29 Uncaught (in promise) ReferenceError: getBase64 is not defined我在这里看过关于类似问题的其他答案,但我是一个初学者,不能很好地理解。
我的代码:
var pokeInfo=[];
var pokepics=[];
var pokemon;
//get a pokemon by id
async function fetchPokemon(pokemonID){
var response = await fetch('https://pokeapi.co/api/v2/pokemon/'+pokemonID.toString()+'/');
var poke = await response.json();
pokeInfo.push(poke);
}
//get many pokemon
async function fetchManyPokemon(count){
for(var i=1;i<=count;i++){
await fetchPokemon(count);
}
}
//get pokemon image
async function fetchPokemonImage(pokemonInfo){
var imageUrl = pokemonInfo.sprites.front_default; //select image
var imageResponse = await fetch(imageUrl); //fetch image
var image = await imageResponse.blob(); // get response image
//error is here
var base64 = await getBase64(image); //convert image to base 64 format
pokepics.push(base64);
}
async function fetchPokemonImages(){ //fetch number of pokemon images
for(var l =0;l<pokeInfo.length;l++){
await fetchPokemonImage(pokeInfo[l]);
}
}
如果您能帮助我解决这个问题,我将不胜感激。提前谢谢你。
发布于 2020-07-07 21:08:44
在js中没有getBase64(),你应该尝试这样做:
function toBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
console.log(reader.result);
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}https://stackoverflow.com/questions/62775932
复制相似问题