我正在使用 JQuery 插件(ScriptCam)以允许用户从网络摄像头拍摄快照。
这是我的带有 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);
我也尝试在PictureBox
element in 中使用相同的二进制代码Winforms
,但我得到了那个Argument Exception: Parameter is not valid
错误。
从昨天开始,我一直在尝试这样做。
所以我想我保存二进制数据的方式可能有问题。因为我将文本框用作空杯子,所以二进制代码可能正在发生变化,同时我复制到文本框并稍后再复制。
此外,我以这种方式保存的图像具有与另一个工作组件的图像二进制数据不同的二进制数据。
src
所以我想知道在我将其属性与 JS绑定后,有没有办法将此图像保存到服务器?如果我可以保存此图像,我将使用 temp.jpg 图像,然后我将生成它的二进制代码。
提前致谢。