首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

免元件上傳圖片至 SQL Server 資料庫

     編輯:關於SqlServer

原理

在不安裝第三方上傳元件(如 ASPUpload、SoftArtisans FileUp)的情況下,利用 ASP 內建 Request.BinaryRead 讀取原始 HTTP POST 資料流,手動解析 multipart/form-data 邊界,取得檔案二進位內容,再透過 ADO 參數化命令寫入 SQL Server IMAGE 欄位。

核心步驟

  1. 表單設定 enctype="multipart/form-data",檔案輸入 <input type="file" name="upfile">。
  2. 伺服端:
    Dim binData: binData = Request.BinaryRead(Request.TotalBytes)
  3. 解析邊界字串(從 Request.ServerVariables("CONTENT_TYPE") 取得 boundary),切割出檔案區塊。
  4. 移除檔案區塊頭部(Header 至雙 CRLF),剩餘即為純二進位內容。
  5. cmd.Parameters.Append cmd.CreateParameter("img", adLongVarBinary, adParamInput, LenB(binImg), binImg) 寫入資料庫。

優缺點

  • 優點:零元件部署、相容虛擬主機限制、學習 HTTP 協定細節。
  • 缺點:解析邏輯易出錯、大檔案記憶體壓力大、效能不如原生元件、維護成本高。

建議

生產環境優先採用成熟上傳元件或 ASP.NET FileUpload 控制項;僅在極度受限環境下採用此手工解析法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved