【问题标题】:POST an image in JSON using Node.js使用 Node.js 以 JSON 格式发布图像
【发布时间】:2018-02-02 10:55:56
【问题描述】:

我需要在 Node.js 中使用 JSON 中的请求模块以这种模式发布一个文件:

{
                id: <string>,
                title:<string>,
                file: file
}

id 和 title 已给出,但我不知道如何填写第三个属性“文件”。我还要补充一点,该文件是图形类型的,主要是 .png、.jpg 和 .tiff。你有什么主意吗? 该文件在磁盘上已指定位置,例如 /home/user/file.png

【问题讨论】:

    标签: json node.js post image-processing crossdomain-request.js


    【解决方案1】:

    您始终可以使用您喜欢的任何格式将图像编码为字符串。

    通常base64就足够了。

    var fs = require('fs');
    
    // function to encode file data to base64 encoded string
    function base64_encode(file) {
        // read binary data
        var bitmap = fs.readFileSync(file);
        // convert binary data to base64 encoded string
        return new Buffer(bitmap).toString('base64');
    }
    

    你的 JSON:

    {
    
         id: someId,
         title: someTitle,
         file: base64_encode('your_file.any');
    
    }
    

    【讨论】:

    • 问题是这个 JSON 用于 API...你认为这种编码不会有什么不同吗?或者我应该找出这个 API 需要什么样的“文件”?
    • 是的,您应该明确了解 API 的预期。这只是一种以 JSON 兼容格式存储实际图像数据的方法,该格式实际上只是一个字符串。
    • 好的,现在我知道应该是什么编码了:form/multipart
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 2015-06-04
    • 2021-03-20
    • 2016-12-18
    相关资源
    最近更新 更多