繁体   English   中英

如何使用dataURL在服务器上创建图像文件?

[英]How to create image file on server using dataURL?

在我的应用程序中,我使用了画布,用户可以在画布上绘制图像。 在保存按钮上,我从画布获取dataURL。 现在,我想将用户创建的图像保存在服务器上(node.js)。 我已经阅读了Node文件系统文档,但是不确定我可以/应该使用什么! 到目前为止,我只使用了将数据发布到服务器的表单,现在我需要单击“保存”按钮来发布数据,我该怎么办?

因此,答案分为两部分,

客户端行为和服务器行为。 这里缺少很多原始信息。

首先,我们假设您有一种机制,可以将内容的原始流转换为数据存储(或svg的xml等)中的图像“文件”或二进制内容时所需的格式。原始流内容,您将使用标准XmlHttpRequest将内容发布到url。 在node.js进程上,您需要一个路由和一个函数来“捕获”流的内容并将其持久保存在您的存储机制中(文件,db为blob,导出到外部服务等)。

因此,当您在客户端询问如何使用XmlHttpRequest(dojo.xhr,jQuery.ajax等)将其发布到url时,以编程方式将原始内容作为帖子的“主体”进行流传输。 将函数绑定到dom元素的onClick方法,该方法获取图像内容并将其发布到服务器url。

jQuery('#postDiv').click(function() {
    jQuery.ajax({
       type : 'POST',
       url : '/myapp/image/<id>',
       data : someComponentInMyPage.getImageContent(),
       success : function() { // show the user it worked },
       datatype : 'image/png' // or whatever format is coming out
    });
 });

在服务器上,获取输入流并将其写入文件,这将取决于您在节点侧使用的框架/模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM