ユーザーが Web カメラからスナップショットを取得できるようにするために 、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
の要素でも同じバイナリコードを使用しようとしましWinforms
たが、そのArgument Exception: Parameter is not valid
エラーが発生しました。
私は昨日からこれをやろうとしてきました。
そのため、バイナリデータの保存方法に問題があるのではないかと考えました。テキストボックスを空のグラスとして使用しているため、テキストボックスにコピーして後でテキストボックスからコピーしている間にバイナリコードが変更されている可能性があります。
また、この方法で保存した画像には、別の作業コンポーネントの画像バイナリ データとは異なるバイナリ データがあります。
src
属性をJSにバインドした後、この画像をサーバーに保存する方法はあるのでしょうか? この画像を保存できる場合は、temp.jpg 画像を使用し、後でそのバイナリ コードを生成します。
前もって感謝します。