相关疑难解决方法(0)

如何解析Node中的数据URL?

我有一个这样的数据网址:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
Run Code Online (Sandbox Code Playgroud)

将这个作为二进制数据(例如,a Buffer)的最简单方法是什么,以便将其写入文件?

url base64 node.js

31
推荐指数
3
解决办法
2万
查看次数

在Node.js中通过HTTP发送大图像数据

在我的开发环境中,我有两台服务器.一个通过POSThttp请求发送和映像到另一个.

客户端服务器这样做:

    fs.readFile(rawFile.path,'binary',function (err, file){
        restler.post("http://0.0.0.0:5000",{
            data: file,
            headers:{
                "Content-Type": rawFile.type,
            }
        }).on('complete',function(data,response){                               
            console.log(data);
            res.send("file went through")
        })
Run Code Online (Sandbox Code Playgroud)

收到请求的服务器执行此操作:

    server.post('/',function(req,res,next){
        fs.writeFileSync("test.png",req.body,"binary",function(err){
            if(err) throw err;
            res.send("OK")
        })
    })
Run Code Online (Sandbox Code Playgroud)

如果我发送一个小图像,它工作正常.但是,如果我发送大图像虽然文件保存正确,但只显示图像的第一个上半部分.其余的都是黑色的.图像大小是正确的.

我想这只是文件中写入的第一块图像.我试过创建一个readStream和一个writeStream但它似乎不起作用:

req.body.pipe(fs.createWriteStream('test.png'))
Run Code Online (Sandbox Code Playgroud)

我可以直接从二进制数据流传输pipe到文件中吗?对于我所看到的,readStream通常用于从文件流而不是原始二进制数据.

我读了几篇文章,但它似乎对我不起作用.

restler在客户端服务器和restify另一个中使用模块.

谢谢!

image http node.js

28
推荐指数
1
解决办法
3万
查看次数

标签 统计

node.js ×2

base64 ×1

http ×1

image ×1

url ×1