麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

無組件圖片與文本同步存入數據庫的最簡單的辦法

2019-11-18 22:15:18
字體:
來源:轉載
供稿:網友
一:前言

   首先,沒有料到圖片與文本的上傳會引起這么大的注意。上一篇貼子(Id=435906)貼出后,有不少人來信說看不懂?;?br>是仍然不能實現。我就以一種完全簡單的手法。完成組件的文本與圖片上傳數據庫所有過程。希望能幫助所有對此有疑
問的網友。

二:準備工作

    按照慣例,我先將我的測試環境告訴大家。
    系統:Win98se + pws + asp
    編程環境:Visual Interdev 6.0
    數據庫:access2000 (因為網友問的最多的都是Access2000的問題。)
    建一個庫:access2000中,先建好一個Test.mdb的數據庫。具體有四個字段。
    id     |  text1 | text2 | img
  自動編號    文本     文本   OLE對象        ’如果是sql server 則選擇(image即可)

三:Are you ready ,Go!!!

3-1.建上傳表單:
    我們知道,圖像與文本是兩種不同制式的文件(二進制,流式文本)而如果要同一表單提交的話,(file格式提交)則
我們獲取時就不能用原來的方法request.form而必須用equest.TotalBytes來獲得所有的提交資料。但這時兩種格式的文件
混合在一起比較難分。我的上一貼已經告訴大家用二進制的方法來分開這些資料。但十分麻煩,要用到許多二進值的函
數,所以許多網友來信問我有沒有更簡單的方法,好。我可以告訴大家,有!而且保證下面的方法保證一學就會。(這種方
法很另類但偉人說過白貓,黑貓。能上網的就是好貓!)

upload.asp(具體代碼如下)
    
<% @ language=vbscript %>
<html>
<head>
<meta name="VI60_defaultClientScript" content="VBScript">
<title> File Upload </title>
<script ID="clientEventHandlersVBS" LANGUAGE="vbscript">
<!--                           
Sub form2_onsubmit               //** 這里是關鍵,當form2在提交的過程中時,即活form1的提交
    form1.submit             //**所以我們這里用了兩個表單,但只用一個提交就可以了。
End Sub
-->
</script>
</head>
<body>

<form name="form1" ENCTYPE="multipart/form-data" ACTION="upimage.asp" METHOD="POST" target="_blank">
Please choose a picture to upload: <br>
<input NAME="picture" TYPE="FILE"> <br>
</form>

<form name="form2" action="uptext.asp" method="post">
<input type="text" name="text1"><br>
<input type="text" name="text2"><br>
<input type="submit" value="提交">
</form>

</body>
</html>

3-2 兵分兩路來處理數據。
    首先,文本很簡單。

uptext.asp (代碼如下)

<% @ language=vbscript %>
<%
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")

text1=request.form("text1")
text2=request.form("text2")
response.write text1
response.write text2

set rs=Server.CreateObject("adodb.recordset")
sql="SELECT top 1 * FROM imgtable ORDER BY id DESC"  ’這里的意思是選擇最后一個Id,既剛剛被改動
rs.Open sql,strconn,1,3                              ’就是你上傳的圖像的兩個文本字段。

rs("text1")=text1                                    ’注意,這里是改動不是添加,所以不用addnew。
rs("text2")=text2
rs.Update
rs.Close
%>
    接著,來處理圖像。
upimage.asp (具體代碼如下)

<%
FormSize = Request.TotalBytes                 ’得到數據
FormData = Request.BinaryRead( FormSize )

function ImageUp(formsize,formdata)          ’這個函數的功能是截取其中的圖像部分。
    bncrlf=chrb(13) & chrb(10)           ’做成函數后。以后你可以自己隨意使用了。
    divider=leftb(formdata,instrb(formdata,bncrlf)-1)
    datastart=instrb(formdata,bncrlf&bncrlf)+4
    dataend=instrb(datastart+1,formdata,divider)-datastart
    imageup=midb(formdata,datastart,dataend)
end function

Image=ImageUp (FormSize,Formdata)             ’這里就是圖像部分了。

set rs=server.CreateObject("adodb.recordset")
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
sql="SELECT * FROM imgtable"
rs.Open sql,strconn,1,3

rs.AddNew                                     ’因為表單二在表單一提交的過程中下提交了。
rs("img").appendchunk Image                   ’所以這里是添加。
rs.Update
rs.Close


response.contenttype="image/gif"                 
response.binarywrite imageup(formsize,formdata)  ’這里是顯示圖像。表示成功!

%>

?。浚??!原來如此簡單!

四:“顯示,我要同頁顯示”
終于完成了圖文同步提交。(真的是同步嗎?不是嗎?是嗎? 唉,我們只是為了解決問題。何必當真哪?不
是                          嗎?)
現在我們還要讓他同頁顯示出來。其實,這是同樣的思路。我們也用兩頁來完成。

主頁面:show.asp

<%@ Language=VBScript %>
<%
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")

set rs=Server.CreateObject("adodb.recordset")
sql="SELECT top 1 * FROM imgtable ORDER BY id DESC"
rs.Open sql,strconn,1,3
%>
<html>
<body>
以下是你的上傳資料。<br>
文本一:<% Response.Write rs("text1") %><br>
文本二:<% Response.Write rs("text2") %><br>

你的圖像:
<img src=showimg.asp?id=<%=rs("id")%>>           ’注意這里,這才是關鍵。他可以實現網頁圖像與文本
</body>                                          ’共存。
</html>

幕后頁面:showimg.asp        (說他是幕后的頁面,因為他潛伏在主頁面里??瓷鲜且粋€頁面一樣)

<%@ Language=VBScript %>
<%
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("test.mdb")
id=Request("id")
set rs=server.CreateObject("adodb.recordset")
sql="SELECT * FROM imgtable where id="&id
rs.Open sql,strconn,1,3
response.contenttype="image/gif"
Response.BinaryWrite rs("img")
%>

(全文完:希望本文能幫助那些急于想解決本類問題的網友。)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: chinese hd xxxx tube | 国产精品久久久久久久亚洲按摩 | 免费三级大片 | 91精品国产综合久久青草 | 一本色道久久99精品综合蜜臀 | 久久艹一区| 欧美日韩国产成人在线观看 | 国产a级久久 | 午夜视频在线免费观看 | 久久国产精品二区 | 狠狠操精品视频 | 久久国产一 | 黄色毛片免费视频 | 欧美视频黄色 | 天天碰天天操 | 国产九九| 国产精品久久久久一区二区 | 国产亚洲在 | 在线成人亚洲 | 精品免费在线视频 | 国产一区网址 | 成人精品 | 欧美aaa| 久久线视频 | 国产寡妇xxxxxxxx性开放 | 亚洲情在线 | 男男啪羞羞视频网站 | 欧美成人黄色小视频 | 国产激情精品一区二区三区 | 一级电影免费在线观看 | 欧美日韩精品中文字幕 | 久久亚洲国产精品 | 依依成人精品视频 | 欧美另类综合 | av资源在线天堂 | 成年人黄色免费电影 | 免费毛片播放 | 羞羞网站在线看 | 意大利av在线| 视频一区二区三区视频 | 一级毛片免费观看在线 |