繁体   English   中英

如何从 javascript 中的本地文件图像创建 base64 编码的字符串

[英]How to create a base64-encoded string from a local file image in javascript

我一直在尝试从本地计算机转换图像文件,但它似乎对我不起作用。 我不想使用输入上传图像,因为我只有生产中的图像路径,我想存储 base64 字符串。 但如果有更好的方法我可以处理这个,那么我不介意


        const reader = new FileReader();
         const file = new File([imgUrl], { type: "image/png" });
        console.log(file);
        reader.addEventListener("load", function (e) {
            console.log(e.currentTarget.result);
        }, false);

        const data = reader.readAsDataURL(file);
        return data;
        }
        const img = "localhost:8080/start app abnner.png"; // my image path
        getDataUrl(img);

关键是使用 object 的结果属性(请参阅FileReader API。

const reader = new FileReader()
reader.readAsDataURL(image) // assuming "image" is your file
reader.result // here is your base64 string

所以在你的情况下,它应该是:

const data = reader.readAsDataURL(file);
return data.result;

我不得不做一次这样的事情,所以如果你愿意,我制作了一个小插件: encode-image-uri 它具有使用 Promise 的优势,因此您 100% 确定只有在转换完成且数据准备就绪时才调用任何 function。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM