我正在使用JQuery插件(ScriptCam)以允许用户从网络摄像机拍摄快照。如何保存Asp:客户端生成的图像元素
这里是我与JS代码按钮:
<asp:Button ID="btnTakeSnapshot" runat="server" Text="Take SS" OnClientClick="base64_toimage(); return false;" />
JS代码:
function base64_toimage() {
document.getElementById('<%= imgBinary.ClientID %>').src = "data:image/png;base64," + $.scriptcam.getFrameAsBase64();
document.getElementById('<%= txtImgBinary.ClientID %>').value = $.scriptcam.getFrameAsBase64();
};
用户点击后,快照绑定到这个Asp:Image
元素:
<asp:Image ID="imgBinary" runat="server" Width="160" Height="120" />
而且我也把二进制代码写到这个Asp:TextBox
:
<asp:TextBox ID="txtImgBinary" TextMode="MultiLine" runat="server"></asp:TextBox>
在这里,我想要做的是用户需要快照,点击到最后“保存”按钮后,我就从txtImgBinary.Text
值保存二进制代码到我的image column
在SQL Server中。我也这样做,这一切都很好。
但是,当我在另一个页面中绑定来自数据库的二进制值后,它不起作用。以下是我做的事:
imgUserPhoto.Attributes.Add("src", "data:image/png;base64," + binaryCodeFromDB);
我也试过在Winforms
使用相同的二进制代码PictureBox
元素,但我得到了Argument Exception: Parameter is not valid
错误。
自昨天以来,我一直在努力做到这一点。
所以我想,如何保存二进制数据可能会出现问题。因为我正在使用文本框作为空的玻璃,可能二进制代码正在改变,同时我复制到文本框,并在以后。
此外,用这种方式保存的图像与其他工作组件的图像二进制数据具有不同的二进制数据。
所以我不知道有没有办法将这个图像保存到服务器后,我将其src
属性与JS绑定?如果我可以保存这个图像,我将使用temp.jpg图像,之后我将生成它的二进制代码。
在此先感谢。