首页 > 解决方案 > 拒绝来自 base64 编码器的无效 URL

问题描述

我在节点中有一个用于下载文件并将其转换为 base64 的函数:

async function _conertImgToBase64(fileDet) {
    try {
        let downloadUrl = fileDet
        let tempUrl = appRoot + "/temp/" + "qn_image";
        let str = undefined
        let dowloadedFile = fs.createWriteStream(tempUrl);
        await new Promise(function (resolve, reject) {
            http.get(downloadUrl, function (response) {
                console.log("response-fromfileserver",response.statusCode)
                if(response.statusCode==404){
                    
                }
                else if (response.statusCode == 200) {
                    dowloadedFile.on('finish', () => resolve());
                    response.pipe(dowloadedFile);
                }
            });
        })
        let imageAsBase64 = await fs.readFileSync(tempUrl, 'base64');

        if (imageAsBase64) {
            str = 'data:image/png;base64,' + imageAsBase64
        }
        return str
    } catch (e) {
        console.log(e)
        return false
    }
}

我想要的是响应为 404 时。离开该功能。我有一个 url 数组。但是每个 url 都不起作用。我只想要成功 url 来转换 base64 。我尝试了很多方法。你能帮助我吗 。

标签: node.js

解决方案


推荐阅读