我正在使用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圖像,之後我將生成它的二進制代碼。
在此先感謝。