canvas簽名圖片上傳及入庫問題

来源:https://www.cnblogs.com/wcl868/p/18101640
-Advertisement-
Play Games

網頁圖像漸變的方法(HTML+CSS)(漸變與切換) Date: 2024.03.27 參考 色彩 runoob-漸變色工具 漸變 - 水平多圖 效果 HTML <div class="conBox pubCon"> <div class="imgBox"> <img class="img1" sr ...


工作需要,asp+access建了個簡單信息交互平臺,表單填報、簽名、及查看只能在手機上進行。已實現Base64直接入資料庫。有Jccscxj.asp(首頁表單填報)、Jccscxjup.asp(手寫簽名頁面)、ajax-cscxj.asp(入庫頁面)、anco.asp(資料庫聯接)、cscxjck.asp(填報項查看)等五個asp文件、jcxj.mdb資料庫和相關格式JS、css文件。實現步驟:首頁填報各項表單-->進入簽名頁面-->提交簽名顯示簽名結果。經過實踐,Base64入庫數據太大,想進行優化改進。經過近半月的折騰,問題終於解決。先是把問題想複雜了。是在原base64能直接入庫的基礎上優化。說明ajax提交的數據是成功的。只是把入庫的base64數據改成圖片文件存伺服器的一個指定目錄、資料庫只加入鏈接就行了。所以只需要修改入庫文件ajax_cscxj.asp即可。其它文件都不需要改變。筆記留存。
修改ajax_cscxj.asp後的代碼:
`

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%
id = int(Request.form("id"))
id = Right("0000" & id, 4) ' 格式化為4位數,不足部分用0填充
FileName =id & "" & DatePart("yyyy", Now()) & DatePart("m", Now()) & DatePart("d", Now()) & "" & DatePart("h", Now()) & DatePart("n", Now()) & DatePart("s", Now()) '生成文件名
pict=Trim(request.Form("qm_pic")) '獲取Form提交過來的img
'分割字元串 base64 找到文件擴展名 picl(1)
picn=split(pict,";base64,")
picl=split(picn(0),"/")
picture=picn(1)

'response.write picn(1)
'response.write "
"
path="UploadIMG_cscxj/" & FileName & "."&picl(1) '存放路徑

xmlstr=""&picture&""
Dim xml : Set xml=Server.CreateObject("MSXML2.DOMDocument")
Dim stm : Set stm=Server.CreateObject("ADODB.Stream")
xml.resolveExternals=False
xml.loadxml(xmlstr)
xml.documentElement.setAttribute "xmlns:dt","urn:schemas-microsoft-com:datatypes"
xml.documentElement.dataType = "bin.base64"
stm.Type= 1'adTypeBinary
stm.Open
stm.Write xml.documentElement.nodeTypedValue
stm.SaveToFile Server.MapPath(path)
stm.Close
Set xml=Nothing
Set stm=Nothing
' 更新資料庫,存儲圖片路徑
set rs = server.CreateObject("adodb.recordset")
sql = "select * from [jccscxj] where cscxj_id = "&id&""
rs.open sql,conn,1,3
rs("cscxj_qm") = path
rs.update
rs.Close
Set rs = Nothing
response.Write("簽名成功")

conn.close
set conn=nothing
%>

`

參考文章:https://blog.csdn.net/u011289462/article/details/128058690


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、是什麼 HTTP頭欄位(HTTP header fields),是指在超文本傳輸協議(HTTP)的請求和響應消息中的消息頭部分 它們定義了一個超文本傳輸協議事務中的操作參數 HTTP頭部欄位可以自己根據需要定義,因此可能在 Web伺服器和瀏覽器上發現非標準的頭欄位 下麵是一個HTTP請求的請求頭 ...
  • DOM(文檔對象模型)定義了一種訪問和操作文檔的標準。它是一個平臺和語言無關的介面,允許程式和腳本動態訪問和更新文檔的內容、結構和樣式。HTML DOM用於操作HTML文檔,而XML DOM用於操作XML文檔。 HTML DOM示例 通過ID獲取並修改HTML元素的值: <!DOCTYPE html ...
  • 一、是什麼 HTTP狀態碼(英語:HTTP Status Code),用以表示網頁伺服器超文本傳輸協議響應狀態的3位數字代碼 它由 RFC 2616規範定義的,並得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774與 RFC 4918等規範擴展 簡單來講,http狀態碼的作用 ...
  • 1.簡介 開源 Web 富文本編輯器,開箱即用,配置簡單。一個產品的價值,就在於解決用戶的問題,提高效率、降低成本、增加穩定性和擴展性。wangEditor 不是為了做而做,也不是單純的模仿誰,而是經過上述問題分析之後,給出一個系統的解決方案。旨在真正去解決用戶的問題,產出自己的價值。更多資料見官網 ...
  • 1.需求描述 根據項目需求,採用Antd組件庫需要封裝一個評論框,具有以下功能: 支持文字輸入 支持常用表情包選擇 支持發佈評論 支持自定義表情包 2.封裝代碼 ./InputComment.tsx 1 import React, { useState, useRef, useEffect, for ...
  • 需要實現的效果: 1、子菜單如果不是全部選中,一級菜單半選。 2、子菜單全選,一級菜單選中。 3、一級菜單選擇,二級菜單全選。 4、沒有二級菜單,則只控制一級菜單。 主要用到的屬性是checked和halfCheckedKeys,通過手動控制那些菜單選中,那些半選中實現功能。 **頁面截圖: ** ...
  • 一、HTTP1.0 HTTP協議的第二個版本,第一個在通訊中指定版本號的HTTP協議版本 HTTP 1.0 瀏覽器與伺服器只保持短暫的連接,每次請求都需要與伺服器建立一個TCP連接 伺服器完成請求處理後立即斷開TCP連接,伺服器不跟蹤每個客戶也不記錄過去的請求 簡單來講,每次與伺服器交互,都需要新開 ...
  • Ajax 與 Axios 非同步請求 一、伺服器對外提供了哪些資源 1. 網頁中如何請求數據 數據,也是伺服器對外提供的一種資源。只要是資源,必然要通過 請求 – 處理 – 響應 的方式進行獲取。如果要在網頁中請求伺服器上的數據資源,則需要用到 XMLHttpRequest 對象。XMLHttpReq ...
一周排行
    -Advertisement-
    Play Games
  • 隨著Aspire發佈preview5的發佈,Microsoft.Extensions.ServiceDiscovery隨之更新, 服務註冊發現這個屬於老掉牙的話題解決什麼問題就不贅述了,這裡主要講講Microsoft.Extensions.ServiceDiscovery(preview5)以及如何 ...
  • 概述:通過使用`SemaphoreSlim`,可以簡單而有效地限制非同步HTTP請求的併發量,確保在任何給定時間內不超過20個網頁同時下載。`ParallelOptions`不適用於非同步操作,但可考慮使用`Parallel.ForEach`,儘管在非同步場景中謹慎使用。 對於併發非同步 I/O 操作的數量 ...
  • 1.Linux上安裝Docken 伺服器系統版本以及內核版本:cat /etc/redhat-release 查看伺服器內核版本:uname -r 安裝依賴包:yum install -y yum-utils device-mapper-persistent-data lvm2 設置阿裡雲鏡像源:y ...
  • 概述:WPF界面綁定和渲染大量數據可能導致性能問題。通過啟用UI虛擬化、非同步載入和數據分頁,可以有效提高界面響應性能。以下是簡單示例演示這些優化方法。 在WPF中,當你嘗試綁定和渲染大量的數據項時,性能問題可能出現。以下是一些可能導致性能慢的原因以及優化方法: UI 虛擬化: WPF提供了虛擬化技術 ...
  • 引言 上一章節介紹了 TDD 的三大法則,今天我們講一下在單元測試中模擬對象的使用。 Fake Fake - Fake 是一個通用術語,可用於描述 stub或 mock 對象。 它是 stub 還是 mock 取決於使用它的上下文。 也就是說,Fake 可以是 stub 或 mock Mock - ...
  • 為.net6在CentOS7上面做準備,先在vmware虛擬機安裝CentOS 7.9 新建CentOS764位的系統 因為CentOS8不更新了,所以安裝7;簡單就一筆帶過了 選擇下載好的操作系統的iso文件,下載地址https://mirrors.aliyun.com/centos/7.9.20 ...
  • 經過前面幾篇的學習,我們瞭解到指令的大概分類,如:參數載入指令,該載入指令以 Ld 開頭,將參數載入到棧中,以便於後續執行操作命令。參數存儲指令,其指令以 St 開頭,將棧中的數據,存儲到指定的變數中,以方便後續使用。創建實例指令,其指令以 New 開頭,用於在運行時動態生成並初始化對象。方法調用指... ...
  • LiteDB 是一個輕量級的嵌入式 NoSQL 資料庫,其設計理念與 MongoDB 類似,但它是完全使用 C# 開發的,因此與 C# 應用程式的集成非常順暢。與 SQLite 相比,LiteDB 提供了 NoSQL(即鍵值對)的數據存儲方式,並且是一個開源且免費的項目。它適用於桌面、移動以及 We ...
  • 1 開源解析和拆分文檔 第三方的工具去對文件解析拆分,去將我們的文件內容給提取出來,並將我們的文檔內容去拆分成一個小的chunk。常見的PDF word mark down, JSON、HTML。都可以有很好的一些模塊去把這些文件去進行一個東西去提取。 優勢 支持豐富的文檔類型 每種文檔多樣化選擇 ...
  • OOM是什麼?英文全稱為 OutOfMemoryError(記憶體溢出錯誤)。當程式發生OOM時,如何去定位導致異常的代碼還是挺麻煩的。 要檢查OOM發生的原因,首先需要瞭解各種OOM情況下會報的異常信息。這樣能縮小排查範圍,再結合異常堆棧、heapDump文件、JVM分析工具和業務代碼來判斷具體是哪 ...