Guest User

Untitled

a guest
Jun 2nd, 2023
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.28 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=ctech-gla-sql03; Database=SIC30_CTS_LIVE; UID=webuser; PWD=webuser; 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 = '@SignatureData' 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. Set param = cmd.CreateParameter("@SignatureBlob", 205, 1, LenB(signatureData), signatureData)
  31. cmd.Parameters.Append param
  32.  
  33. ' Execute the INSERT statement
  34. cmd.Execute
  35. 'response.write(sql)
  36.  
  37. ' Cleanup
  38. Set param = Nothing
  39. Set cmd = Nothing
  40. conn.Close
  41. Set conn = Nothing
  42.  
  43. ' Display a success message
  44. Response.Write "Signature successfully saved."
  45. End If
  46.  
  47. ' Function to convert data URI to blob
  48. Function DataURIToBlob(dataURI)
  49. Dim byteString, base64Data, hexString, bytes
  50. byteString = Mid(dataURI, InStr(dataURI, ",") + 1)
  51. base64Data = Base64Decode(byteString)
  52. bytes = (LenB(base64Data) \ 2)
  53.  
  54. Dim binaryData
  55. ReDim binaryData(bytes - 1)
  56.  
  57. Dim i
  58. For i = 1 To bytes
  59. binaryData(i - 1) = AscB(MidB(base64Data, i, 1))
  60. Next
  61.  
  62. ' Convert binary data to a hexadecimal string
  63. hexString = ""
  64. For i = 1 To bytes
  65. hexString = hexString & Right("0" & Hex(binaryData(i - 1)), 2)
  66. Next
  67.  
  68. DataURIToBlob = hexString
  69. End Function
  70.  
  71. ' Function to decode base64 string
  72. Function Base64Decode(base64)
  73. Dim dm, padding, unpaddedLength, numPaddings, i
  74. Set dm = CreateObject("Microsoft.XMLDOM")
  75. padding = 0
  76. unpaddedLength = Len(base64)
  77.  
  78. If Right(base64, 1) = "=" Then
  79. padding = 1
  80.  
  81. If Right(base64, 2) = "==" Then
  82. padding = 2
  83. End If
  84.  
  85. unpaddedLength = unpaddedLength * 3 \ 4 - padding
  86. End If
  87.  
  88. numPaddings = unpaddedLength Mod 3
  89. base64 = Replace(base64, "=", "")
  90. base64 = Replace(base64, "+", "-")
  91. base64 = Replace(base64, "/", "_")
  92. base64 = Replace(base64, vbNewLine, "")
  93.  
  94. For i = 1 To numPaddings
  95. base64 = base64 & "="
  96. Next
  97.  
  98. Base64Decode = dm.createTextNode(base64).NodeTypedValue
  99. End Function
  100. %>
  101.  
  102. <!DOCTYPE html>
  103.  
  104. <html>
  105.  
  106. <head>
  107. <title>Signature Capture Form</title>
  108. <script src="https://unpkg.com/signature_pad"></script>
  109. <script>
  110. // Initialize the signature pad
  111. var signaturePad;
  112.  
  113. window.onload = function() {
  114. var canvas = document.getElementById('signatureCanvas');
  115. signaturePad = new SignaturePad(canvas);
  116. };
  117.  
  118. // Function to handle form submission
  119. function handleSubmit(event) {
  120. event.preventDefault(); // Prevent form submission
  121.  
  122. // Get the signature as a data URL
  123. var signatureDataUrl = signaturePad.toDataURL();
  124.  
  125. // Set the signature data as a hidden form field
  126. document.getElementById('signatureData').value = signatureDataUrl;
  127.  
  128. // Submit the form
  129. document.getElementById('signatureForm').submit();
  130. }
  131. </script>
  132. <style>
  133. #signatureCanvas {
  134. border: 1px solid #000;
  135. }
  136. </style>
  137. </head>
  138.  
  139. <body>
  140.  
  141. <h1>Signature Capture Form</h1>
  142. <form id="signatureForm" method="post" action="">
  143. <label for="signatureCanvas">Please sign below:</label><br>
  144. <canvas id="signatureCanvas" width="400" height="200"></canvas><br>
  145. <input type="hidden" id="signatureData" name="signatureData" value="">
  146. <button type="submit" onclick="handleSubmit(event)">Submit</button>
  147. </form>
  148.  
  149. </body>
  150.  
  151. </html>
  152.  
Add Comment
Please, Sign In to add comment