javascript - 转换数据:image/png;base64 into an image type in database

标签 javascript asp.net vb.net canvas base64

所以这是场景。我有一个 Canvas ,我通过

获取其数据
var image = canvas.toDataURL("image/png");

我会将数据放入 TextArea 中,以便将其插入数据库

 document.getElementById("TextArea1").textContent = image

如果我将数据插入文本区域内,即“data:image/png;base64,iVBORw0KGgoAAAAN...”到数据库中,它会说

Operand type clash: nvarchar(max) is incompatible with image.

所以,我想要和需要做的是将“data:image/png;base64,iVBORw0KGgoAAAAN...”转换为类似“0x89504E470D0A1A0A...”的内容,然后将其插入数据库。提前致谢!

最佳答案

您的图像采用 Base64 格式,它是一个字符串,您需要首先将其转换为字节数组,以便将其保存在数据库中。像这样的事情:

Dim base64String = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="

Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Temp\Database1.mdf;Integrated Security=True;User Instance=True")
Dim sql As String = "INSERT INTO MyTable VALUES(@Image)"
Dim cmd As New SqlCommand(sql, con)
Dim imageBytes As Byte() = Convert.FromBase64String(base64String)
Dim p As New SqlParameter("@Image", SqlDbType.Image)
p.Value = imageBytes
cmd.Parameters.Add(p)
cmd.ExecuteNonQuery()

这里有更多有关加载图像并将图像保存到数据库的示例:

http://www.codeproject.com/Articles/437937/Save-and-Retrieve-Image-from-a-SQL-Server-Database

关于javascript - 转换数据:image/png;base64 into an image type in database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657692/

相关文章:

javascript - 请谁能帮我将此正则表达式模式从 javascript 转换为 c#

javascript - 单击包含 span 的 div,不会触发 onclick 事件 - React

.net - 将表单的一个实例的 TextBox 控件的更改值更新到所有实例

javascript - jQuery 宽度、outerWidth()、innerWidth() 返回不正确的数据

javascript - 以编程方式在javascript中创建json数组对象

c# - 开源项目学习asp.net mvc 3

asp.net - 无论如何要在 iis 7 上模拟服务器繁忙错误 500.13 吗?

asp.net - 如何在负载平衡的 Web 场中处理 ASP.NET 应用程序变量

asp.net - 隐藏/显示的 AsyncFileUpload 控件不会触发服务器端 UploadedComplete 事件

ajax - VB.net 匿名类型具有来自 AJAX 调用的不正确的属性大小写