嗨,我试图用html和reactjs在图像标记中显示从mp3文件中检索到的图像。这是我使用的代码。
async getImageFromUploadedFile(framesRetrieved){
const imageArrayBufferRetrieved = framesRetrieved[4].value.data;
var blob = new Blob([imageArrayBufferRetrieved]);
var reader = new FileReader();
reader.onload = function(event){
var base64 = event.target.result;
};
reader.readAsDataURL(blob);
}
当我控制base64图像时,我得到了这样的信息。base64图像的屏幕截图
我试图使用以下代码显示检索到的图像
<Grid item xs={12}>
<Grid item container xs={6}>
<div id="title"></div>
<img src="data:image/png;base64,base64"/>
<div id="audioContainer"></div>
<div id="lyricsContainer"></div>
</Grid>
</Grid>
但是图像没有出现在标签中。没有控制台错误。如果你能帮忙就太好了。谢谢。
发布于 2020-02-07 09:30:21
我可以用https://www.npmjs.com/package/jsmediatags修复
首先,您必须使用npm install jsmediatags --save
安装jsmediatag库。
这是我用来获取mp3图像的代码
var jsmediatag=需要量(“jsmediatag”);新jsmediatags.Reader(内容).setTagsToRead(“标题”、“艺术家”、“图片”、“歌词”).read({ onSuccess:.read:onSuccess:onSuccess(Tag){ var标签= tag.tags;var base64String = "";for (var i= 0;i< tags.picture.data.length;i++) { base64String += String.fromCharCode(tags.picture.datai);} var dataUrl = "data:“+ tags.picture.format +;base64 64,”+window.btoa(base64String);dataUrl“;},onError: function(error) { console.log(':(',error.type,error.info);});
https://stackoverflow.com/questions/60099942
复制相似问题