Guest User

Untitled

a guest
Jun 1st, 2023
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.16 KB | None | 0 0
  1. <%
  2. ' Check if the form is submitted
  3. If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  4. ' Retrieve the signature data from the request
  5. Dim signatureData
  6. signatureData = Request.Form("signatureData")
  7.  
  8. ' Convert the data URL to a blob
  9. Dim signatureBlob
  10. signatureBlob = DataURIToBlob(signatureData)
  11.  
  12. ' Connect to the SQL database
  13. Dim conn
  14. Set conn = Server.CreateObject("ADODB.Connection")
  15. conn.Open "Driver={SQL Server}; Server=servername; Database=databasename; UID=username; PWD=password; Option=4"
  16.  
  17. ' Prepare an SQL INSERT statement to save the blob
  18. Dim sql
  19. sql = "UPDATE call_events SET ce_technicians_signature_image = '@SignatureBlob' WHERE ce_Id = '56729908'"
  20.  
  21. ' Create a parameterized command and set the blob value
  22. Dim cmd
  23. Set cmd = Server.CreateObject("ADODB.Command")
  24. cmd.ActiveConnection = conn
  25. cmd.CommandText = sql
  26.  
  27. ' Create a parameter and assign the blob value
  28. Dim param
  29. Set param = cmd.CreateParameter("@SignatureBlob", 205, 1, LenB(signatureBlob), signatureBlob)
  30. cmd.Parameters.Append param
  31.  
  32. ' Execute the INSERT statement
  33. cmd.Execute
  34.  
  35. ' Cleanup
  36. Set param = Nothing
  37. Set cmd = Nothing
  38. conn.Close
  39. Set conn = Nothing
  40.  
  41. ' Display a success message
  42. Response.Write "Signature successfully saved."
  43. End If
  44.  
  45. ' Function to convert data URI to blob
  46. Function DataURIToBlob(dataURI)
  47. Dim byteString, base64Data, hexString, bytes
  48. byteString = Mid(dataURI, InStr(dataURI, ",") + 1)
  49. base64Data = Base64Decode(byteString)
  50. bytes = (LenB(base64Data) \ 2)
  51.  
  52. Dim binaryData
  53. ReDim binaryData(bytes - 1)
  54.  
  55. Dim i
  56. For i = 1 To bytes
  57. binaryData(i - 1) = AscB(MidB(base64Data, i, 1))
  58. Next
  59.  
  60. ' Convert binary data to a hexadecimal string
  61. hexString = ""
  62. For i = 1 To bytes
  63. hexString = hexString & Right("0" & Hex(binaryData(i - 1)), 2)
  64. Next
  65.  
  66. DataURIToBlob = hexString
  67. End Function
  68.  
  69. ' Function to decode base64 string
  70. Function Base64Decode(base64)
  71. Dim dm, padding, unpaddedLength, numPaddings, i
  72. Set dm = CreateObject("Microsoft.XMLDOM")
  73. padding = 0
  74. unpaddedLength = Len(base64)
  75.  
  76. If Right(base64, 1) = "=" Then
  77. padding = 1
  78.  
  79. If Right(base64, 2) = "==" Then
  80. padding = 2
  81. End If
  82.  
  83. unpaddedLength = unpaddedLength * 3 \ 4 - padding
  84. End If
  85.  
  86. numPaddings = unpaddedLength Mod 3
  87. base64 = Replace(base64, "=", "")
  88. base64 = Replace(base64, "+", "-")
  89. base64 = Replace(base64, "/", "_")
  90. base64 = Replace(base64, vbNewLine, "")
  91.  
  92. For i = 1 To numPaddings
  93. base64 = base64 & "="
  94. Next
  95.  
  96. Base64Decode = dm.createTextNode(base64).NodeTypedValue
  97. End Function
  98. %>
  99.  
  100. <!DOCTYPE html>
  101.  
  102. <html>
  103.  
  104. <head>
  105. <title>Signature Capture Form</title>
  106. <script src="https://unpkg.com/signature_pad"></script>
  107. <script>
  108. // Initialize the signature pad
  109. var signaturePad;
  110.  
  111. window.onload = function() {
  112. var canvas = document.getElementById('signatureCanvas');
  113. signaturePad = new SignaturePad(canvas);
  114. };
  115.  
  116. // Function to handle form submission
  117. function handleSubmit(event) {
  118. event.preventDefault(); // Prevent form submission
  119.  
  120. // Get the signature as a data URL
  121. var signatureDataUrl = signaturePad.toDataURL();
  122.  
  123. // Set the signature data as a hidden form field
  124. document.getElementById('signatureData').value = signatureDataUrl;
  125.  
  126. // Submit the form
  127. document.getElementById('signatureForm').submit();
  128. }
  129. </script>
  130. <style>
  131. #signatureCanvas {
  132. border: 1px solid #000;
  133. }
  134. </style>
  135. </head>
  136.  
  137. <body>
  138.  
  139. <h1>Signature Capture Form</h1>
  140. <form id="signatureForm" method="post" action="">
  141. <label for="signatureCanvas">Please sign below:</label><br>
  142. <canvas id="signatureCanvas" width="400" height="200"></canvas><br>
  143. <input type="hidden" id="signatureData" name="signatureData" value="">
  144. <button type="submit" onclick="handleSubmit(event)">Submit</button>
  145. </form>
  146.  
  147. </body>
  148.  
  149. </html>
  150.  
Add Comment
Please, Sign In to add comment