将Base64缓冲区保存为映像到磁盘
Saving Base64 Buffer as an image to the Disk
在Node.js
应用程序中,我通过Socket.io
发送图像到服务器。在服务器上,我得到了这样的结果,我想把它保存在磁盘上。它保存了,但我不能打开图像和图像查看器说它损坏了!文件大小正确,但我打不开。代码中有什么我遗漏的吗?
socket.on('newImage', function (data) {
var img = data.image;
var coded_img = new Buffer(img, 'base64');
fs.writeFile("out.png", coded_img,'base64', function(err) {
if (err) throw err;
console.log('File saved.')
});
});
我解决了这个问题,使用这个函数,我恢复了主图像数据:
decodeBase64Image = function(dataString) {
var matches = dataString.match(/^data:([A-Za-z-+'/]+);base64,(.+)$/),
response = {};
if (matches.length !== 3) {
return new Error('Invalid input string');
}
response.type = matches[1];
response.data = new Buffer(matches[2], 'base64');
return response;
};
相关文章:
- 如何使jQuery中的悬停函数单独应用于数据库映像
- 无法在Safari中加载跨源映像(来自CloudFront)
- 有没有一种方法可以从chrome'的存储映像
- 如何在不必维护每个文件的两个版本的情况下,将通用JavaScript和映像部署到两个不同的EAR
- 在使用 Django 静态文件时动态设置映像时,只有绝对路径才能与 jquery 一起使用
- 获取我的数组中的每个 ID 映像 src
- 映像选取器在初始化时预选项
- 循环映像 IE7 问题
- 本地映像对象未在Javascript中正确初始化
- PHP抓取没有扩展的远程映像
- 如何在ASP.NET Response.BinaryWrite生成的Javascript中处理字节数组映像
- JQuery Error在出现错误时加载备用映像的事件
- 要映像的 Blob URL
- appendChild dataURI映像到window.open在IE中失败
- 在MySQL中存储映像路径与使用<img src=“"onError=“">
- 如何侦听跨域映像请求上的任何301/302重定向状态代码
- THREE.js:跨来源资源共享策略拒绝跨来源映像加载
- 使用 WinJS 将映像保存到磁盘
- 将映像从远程服务器保存到磁盘
- 将Base64缓冲区保存为映像到磁盘