我刚刚开始学习Jquery并开始使用将在触摸屏设备上使用的asp.net webform应用程序,我需要捕获用户签名,基本上用户将签名并在点击保存后,我希望他们的签名保存为图像到SQL服务器数据库,以便我可以稍后在网页上检索和显...
我刚刚开始学习Jquery并开始使用将在触摸屏设备上使用的asp.net webform应用程序,我需要捕获用户签名,基本上用户将签名并在点击保存后,我希望他们的签名保存为图像到SQL服务器数据库,以便我可以稍后在网页上检索和显示它.
我发现了这个问题:Capture Signature using HTML5 and iPad
并且jQuery插件工作得很好,完全按照我的意愿.
这里的演示:http://szimek.github.io/signature_pad
这里的插件:https://github.com/szimek/signature_pad
所以在演示中我看到点击“保存”后你会看到一个新的标签,显示你签名的签名图像,我注意到网址就像是
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAApIAAAE+CAYAAAA+vvBuAAAgAElEQVR4Xu3df8i37V0X8I/l0GY5BzZdiWslKhnNUaBR62lBP0htjuiHfz0uROgPmQsH/hE8jiKKjLl/IoLa9k+NMOYyhCRamyM0WI9bUBst5kzbUNfjxBlmaLy389jO+3q……
>这个网址是什么意思?
>将使用什么类型的变量将其存储在数据库表中(nvarchar,binary …)
3(主要问题).如何在C#按钮单击事件后面的代码中获取这些数据文本,以将其存储到字符串变量中以用于其他目的.有人可以提供一个简单的例子,我可以从那里去吗?
如果我遗失了什么请告诉我,因为我正在查看该插件的演示项目中的.html文件和那些.js文件,我很遗憾.
解决方法:
>那是一个Base64编码的图像.
> data:表示数据是跟随而不是URL
> image / png;指定数据应该作为内容的“mimetype”
> base64,表示数据的编码类型
>由于base64仅使用ASCII字符,因此varchar(MAX)适合存储.不需要nvarchar.我通常只存储base64编码(逗号后面的最后一部分),并将mime类型(例如image / png)保存在单独的字段中.
> C#有很多选择.如果单独存储base64部分,则可以简化代码.
>使用byte [] imageBytes = System.Convert.FromBase64String(base64data)将其转换为图像服务器端,并从字节数组和类型创建图像.
>将图像注入网页< img src =“@ Html.Raw(”data:“mimetype”base64,“base64data)”/>
笔记:
>正如@anthony所提到的,您通常会将图像存储为文件(或现在存储在Blob存储中)并仅记录文件名/ URI.这取决于数量大小和数量.用法.
>对于某些需要额外安全性的项目,我们发现它很方便,因为base64图像可以存储为编码和放大.数据库中的加密字符串.
>来自注释:要保存到,请将字符串值放入隐藏的输入并更新其值.然后它将像任何其他字符串一样回发.我们自己的签名插件只隐藏原始< input type =“text”>它附加到并将值放在那里.
本文标题为:c# – 使用HTML5捕获签名并将其作为映像保存到数据库
基础教程推荐
- Vue常见面试题(持续更新中...) 2023-10-08
- 从豆瓣网站设计谈网站重构 2022-10-16
- 【有手就行系列】Vue快速入门案例 2023-10-08
- VUE新增属性-数据更新页面不更新 2023-10-08
- vue form表单验证出现选择输入了值,但是还是提示未选择时的问题 2023-10-08
- Ajax获取php返回json数据动态生成select下拉框的实例 2023-02-23
- 带你了解CSS基础知识,样式 2022-11-20
- 解决HTML5手机端页面缩放的问题 2022-09-16
- Boa服务器下的ajax与cgi通信 2023-01-20
- ajax实现加载数据功能 2023-02-01