怎么把canvas画布作为图片保存到项目指定位置,目前实现了保存到本地
1条回答 默认 最新
- m0_54204465 2023-01-11 10:15关注
你可以使用 HTMLCanvasElement.toDataURL() 方法将 canvas 画布转换为图片。这个方法返回一个包含图片数据的 Data URL。然后使用 fetch 或 XMLHttpRequest 将 Data URL 上传到服务器,并在服务器上保存图片。
JavaScript 代码示例如下:
// Get the canvas element var canvas = document.getElementById("myCanvas"); // Convert the canvas to a data URL var dataURL = canvas.toDataURL(); // Setup a form data object var formData = new FormData(); formData.append('image', dataURL); // Use fetch to post the data to the server fetch('/save-image', { method: 'POST', body: formData });
服务器端示范:
var http = require('http'); var fs = require('fs'); var server = http.createServer(function (req, res) { if (req.method === 'POST') { var body = ''; req.on('data', function (data) { body += data; }); req.on('end', function () { var img = body.replace(/^data:image\/\w+;base64,/, ""); var buf = new Buffer(img, 'base64'); fs.writeFile('image.png', buf); }); res.end("Image saved"); } });
当然,还有许多其他方法可以达到这个目的
比如使用 canvas.toBlob(callback, "image/jpeg", 1.0)
或者使用其他库对画布进行处理,比如 canvas-saver
服务器端可以使用框架如 Express,Hapi来处理上传的图片本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效