ネット上で見つけたコードを実装して、画像をメールに添付できるように、html5キャンバスにいくつかの図面をアップロードしようとしています。
<script type="text/javascript">
// Send the canvas image to the server.
$(document).ready(function () {
$('#btnSave').live('click', function () {
var image = document.getElementById("tools_sketch").toDataURL();
image = image.replace('data:image/png;base64,', '');
$.ajax({
type: 'POST',
url: 'upload.aspx/UploadImage',
data: '{ "imageData" : "' + image + '" }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
alert('Image sent!');
},
error: function (msg2) {
alert('Image problem!' + msg2.toString());
}
});
});
});
</script>
upload.aspx
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="upload.aspx.vb" Inherits="CanvasToServer._upload" %>
upload.aspx.vb
インポートSystem.IO名前空間CanvasToServer部分クラス_uploadはSystem.Web.UI.Pageを継承しますPublicSharedSub UploadImage(ByVal imageData As String)
Dim fs As New FileStream("C:\uploaded\image.png", FileMode.Create)
Dim bw As New BinaryWriter(fs)
Dim data As Byte() = Convert.FromBase64String(imageData)
bw.Write(data)
bw.Close()
End Sub
End Class
名前空間の終了
この行により、コンパイルエラーが発生しています。「属性指定子は完全なステートメントではありません。行の継続を使用して、属性を次のステートメントに適用してください。」その行を削除すると、コードはコンパイルされますが、キャンバスイメージはサーバーにアップロードされません。このコードをローカルホストで実行していますが、c:\uploadedフォルダーが私のマシンに存在します。