发送一个base64文件到Node.js套接字.io服务器
Send a file base64 to a Node.js socket.io server
我正在用socket编程一个游戏。在HTML5画布上绘制io,当时间结束时将图像发送到node.js服务器。是否有一些方法转换画布在一个图像,在base64发送图像到node.js应用程序,最后保存到服务器?
是的,canvas
元素提供了一个名为toDataURL()
的方法。此方法返回一个data:
URL,其中包含指定格式的图像的base64表示,或者默认为PNG:
var canvas = document.getElementsByTagName('canvas')[0];
var dataUrl = canvas.toDataURL();
假设您正在使用套接字。您可以通过发出一个事件通过套接字发送此数据URI:
var socket = io.connect('http://localhost');
socket.emit('image', dataUrl);
在Node端,您可以在套接字上监听此事件以检索图像:
io.sockets.on('connection', function (socket) {
socket.on('image', function (dataUrl) {
console.log(dataUrl);
});
});
如果有必要,您可以修剪前缀data:image/png;base64,
并将内容上传到服务器。
阅读更多关于canvas
元素的MDN文档
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值