如何使用数据在服务器上创建图像文件
How to create image file on server using dataURL?
在我的应用程序中,我使用了用户可以在其上绘制图像的画布。在保存按钮上,我从画布上获取数据URL。现在我想将用户创建的图像保存在服务器(node.js)上。我已经阅读了节点文件系统文档,但我不确定我可以/应该使用什么!到目前为止,我只使用表单将数据发布到服务器,现在我需要在单击保存按钮时发布数据,我该怎么办?
所以答案有两个部分,
客户端行为和服务器行为。 这里缺少很多原始信息。
首先,我们假设您有一种机制,当您将内容转换为数据存储中的图像"文件"或二进制内容(或用于 svg 的 xml 等)时,以所需的格式获取内容的原始流。 如果您有该原始流内容,您将使用标准的 XmlHttpRequest 将内容发布到 url。 在节点.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
});
});
在服务器上,获取输入流并将其写入文件,这将取决于您在节点端使用的框架/模块。
相关文章:
- 从2D RGB阵列创建图像
- 从Div创建图像,并使用Javascript和ASP.net将其保存到服务器
- Angular ng重复创建图像-也尝试解析url
- Javascript从包含日期的文件名创建图像库
- 使用jquery创建图像序列
- 如何创建图像数组作为链接
- 在消耗大量内存后,浏览器在创建图像Blob的ObjectURL时抛出错误
- 如何在JQuery中创建图像托盘
- 如何使用createjs创建图像映射
- 我想在不使用额外插件的情况下使用鼠标拖动来创建图像滑块
- 使用js(不是PHP)创建图像文件
- 如何使用数据在服务器上创建图像文件
- JavaScript:从字节数组创建图像资源
- 如何在 JavaScript 中创建图像而不是图像
- 如何在 JQuery 中创建图像“更改”效果
- Javascript - 如何使用基于站点像素颜色的画布创建图像
- 为 Web 应用程序创建图像工具栏
- 创建图像对象数组
- 通过javascript动态创建图像映射
- 如何从 mysql 数据库中的图像创建图像幻灯片