狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

運用ASP改進文檔上載控件

運用ASP改進文檔上載控件

更新時間:2019-12-08 文章作者:未知 信息來源:網絡 閱讀次數:


隨著互聯網的發展,人們發布和獲取信息的方式發生了根本的變化,越來越多的人開始把網絡作為最重要的發布和獲取信息的途徑,同時,能發布并令信息共享的技術也越來越多。雖然這些技術為開發人員帶來了極大的便利,但是由于種種原因,其中有些技術還存在著這樣或那樣的缺陷。因此,開發人員在選擇和使用各種技術時,一定要認清這些技術的優點和局限性,取長補短,才能設計出功能完善的程序。
提出問題
筆者曾在建設企業內部信息網工程中開發過基于Web的文檔資源共享信息網站。該網站要求上載的文檔能自動在主頁中根據文檔的類別按文檔標題連接到對應的欄目里。針對這種需求,筆者利用IIS的文檔上載控件Posting Acceptor Components,結合數據庫和Web技術,開發出了一套自動化程度很高的文檔自動網頁發布系統和文檔自動網頁生成系統。在開發該系統的過程中,筆者發現IIS下的上載控件cpshost.dll在使用中存在一定的問題。例如,為完成上載,筆者開發了兩個程序:程序一(Upload.asp)提供基于Web的信息文檔上載錄入界面;程序二(wd_writer.asp)把程序一錄入的信息記錄到數據庫中。其中相關代碼如下:
程序一(upload.asp):
……
’提供文檔上載的客戶界面
<form enctype=“multipart/form-data” action=“http://<%= Request.ServerVariables
(“SERVER_NAME”)%>/scripts/cpshost.dll?PUBLISH?wd_writer.asp” method=“post”>
<p>文檔主題: <input type=“text” name=“subject”><br>
作者:<input name=“author” type=“text”><br>
發布時間: <input name=“date1” type=“text”><br>
上載文檔名(點擊瀏覽按鈕可進行選擇):<input type=“file” name=“filename”>
Destination URL: <input type=“hidden” name=“TargetURL”
value=“http://<%= Request.ServerVariables(“SERVER_NAME”)%>/users/wdls ”>
<input type=“submit” value=“發布確定”> </p>
</form>
……
程序二(wd_writer.asp):
<%'打開數據庫
Set mydata = Server.CreateObject
(“ADODB.Connection”)
mydata.Open “DSN=xczh;UID=sa;PWD=;”
'從表單中取出各項內容
date1=Request.form(“date1”) '取時間
'取文檔主題
subject=Request.form(“subject”)
'取作者
author=Request.form(“subject”)
'取文檔文件名
filename=Request.form(“filename”)
'取文檔在Web服務器中存放的物理地址
TargetURL=Request.form(“filename”)
'寫數據庫
sqlstr=“insert into wdlsb values(” & sn & “,‘” & subject & “',‘” & date1 & “',‘”& filename & “',‘” & TargetURL & “',‘” & author & “')”
Mydata.Execute(sqlstr)
%>
上述程序的語法結構和邏輯結構都正確無誤,但在使用時卻出現了問題。當在程序一中表單的subject 、Author、filename 域中填寫漢字后,在程序二中用Request取出的表單域值為亂碼,即不能正確從表單中取出域值。此時,表單進行POST請求服務時的域值的封裝模式(enctype)為“multipart/form-data”,即RFC 1867。于是筆者把程序一進行POST請求服務時的封裝模式修改為“text”,但卻出現了“無法上載文檔”的錯誤。筆者分析后發現,文檔上載控件cpshost.dll只能在表單的“multipart/form-data”封裝模式(既RFC 1867格式)下才能在瀏覽器與服務器之間進行文檔上載。
解決問題
筆者采用改變操作流程的方法,解決了上述問題。首先,由用戶填寫表單(程序三Upload.asp),并提交給程序四(wd_read.asp)進行預處理。在程序四中利用session對象暫時保存subject、author、date1、filename、targetUrl等表單域的輸入值。向用戶輸出一個確認頁面,由用戶再次確認表單。然后,設置表單的封裝模式為“multipart/form-data”,并進行上載操作。最后,由cpshost.dll調用程序五(wd_writer.asp)。由程序五取出存儲于內建對象session中的域值,進行數據庫操作和操作確認。如果程序四出現不可預測的錯誤,則文檔上載失敗,不會調用程序五,因此保持了數據庫的完整性。相關代碼如下:
程序三(upload.asp):
<form action=“http://<%= Request.
ServerVariables(“SERVER_NAME”)>/wd_read.asp” method=“post">
<p>文檔主題: <input type=“text” name=“subject”><br>
作者:<input name=“author” type=“text”><br>
發布時間: <input name=“date1” type=“text”><br>
上載文檔名(點擊瀏覽按鈕可進行選擇):<input type=“file” name=“filename”>
Destination URL: <input type=“hidden” name=“TargetURL” value=“http://<%= Request
.ServerVariables(“SERVER_NAME”)%>/users/<%=Request.ServerVariables(“LOGON_USER”) %>” size=“20”><br>
<input type=“submit” value=“發布確定”> </p>
</form>
程序四(wd-read.asp):
<% '取出程序三中的表單域值并保存在session中
session(“subject”)=Request.form(“subject”)
session(“date1”)=Request.form(“date1”)
session(“author”)=Request.form(“author”)
session(“filename”)=Request.form(“filename”)
session(“TargetURL”)=Request.form(“TargetURL”)
%>
……
<form enctype=“multipart/form-data” action=
“http://<%= Request.ServerVariables
(“SERVER_NAME”) %>/scripts/cpshost.dll?PUBLISH?wd_writer.asp” method=“post”>
上載文件名(點擊瀏覽按鈕可進行選擇):<input type=“file” name=“filename” value=“<%=session(“filename”)%>”>
<input type=“hidden” name=“TargetURL”
value=“http://<%= Request.ServerVariables(“SERVER_NAME”) %>/users/wdls” >
<input type=“submit” value=“發布確定”> </p>
</form>
程序五(wd_writer.asp):
<% '打開數據庫
Set mydata = Server.CreateObject
(“ADODB.Connection”)
mydata.Open “DSN=xczh;UID=sa;PWD=;”
’取各表單域的值
date1=session(“date1”) '取時間
subject=session(“subject”) '取文檔主題
author=session(“subject”) '取作者
filename=session(“filename”) '取文檔名
'取文檔在Web服務器中存放的物理地址
TargetURL= session(“TargetURL”)
'寫數據庫,保存文檔記錄
sqlstr=“insert into wdlsb values(” & sn & “,‘”& subject & “',‘” & date1 & “',‘”& filename & “',‘” & TargetURL &“',‘” & author & “')”
Mydata.Execute(sqlstr)
%>
完善程序
上述程序雖然已經能滿足設計時的要求,但還是有需要完善的地方。例如,由于在程序三中輸入的文件名在程序四中會預置給表單域filename,所以,一旦客戶端重新輸入新的文件名后提交確認,會使程序五中寫入數據庫的文件名與實際上載的文件名不一致,造成網頁連接時出錯。為避免出現此類錯誤,在進行文檔上載時,應對表單域filename的值與程序三中的域值進行比較,如果兩者相等,立即進行文件上載,否則取消操作。相關代碼如下:
修改程序四(wd_read.asp):
<form enctype=“multipart/form-data” action=“http://<%= Request.ServerVariables
(“SERVER_NAME”) %>/scripts/cpshost.dll?PUBLISH?wd_writer.asp” method=“post” name=“form1”>
上載文檔名(點擊瀏覽按鈕可進行選擇):<input type=“file” name=“filename” value=“<%=session(“filename”)%>”>
<input type=“hidden” name=“TargetURL” value=“http://<%= Request.ServerVariables
(“SERVER_NAME”) %>/users/wdls” >
’把表單中的按鈕改為‘button’模式,變成普通按鈕,當點擊時,執行腳本程序upload_onclick
<input type=“button” name=“upload” value=“發布確定”>
</form>
’對表單域filename的值進行判斷
<scripts language=“VBScript”>
<!--
sub upload_onclick()
set myform=window.document.form1
tmp=myform.filename.value
if strcomp(tmp,<%=session
(“filename”)%>)=0 then
form1.submit
else
msgbox “輸入的文件名有誤,請返回重新輸入!!!”
end if
end sub
-->
</scripts>
經過上述改進后,系統運轉平穩可靠,縮短了信息上網周期,大大地提高了文檔的上網效率。該系統完整的程序中還包括對用戶口令和權限的驗證、文檔主題是否為空的驗證、作者域驗證、文檔的分類選擇、上載文檔重名的驗證、數據庫操作的異常處理等。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
中文字幕制服丝袜成人av| 伊人久久大香线蕉综合热线 | 欧美伊人精品成人久久综合97 | 日韩av二区在线播放| 亚洲成av人片观看| 成人av午夜电影| 国产精品乱看| 久久久一区二区| 青青草97国产精品免费观看| 国产精品v欧美精品v日本精品动漫 | 91精品国产欧美一区二区18| 国产精品色噜噜| 国产剧情一区二区| 亚洲日产国产精品| 精品国产在天天线2019| 日韩电影一区二区三区四区| 欧美另类女人| 日韩美女天天操| 婷婷久久综合九色综合伊人色| 97se亚洲国产综合自在线不卡| 91激情在线视频| 亚洲三级在线看| 97se亚洲国产综合自在线不卡| 欧美视频一区二| 亚洲一区二区视频在线观看| 欧美一区二区| 日韩欧美一区二区视频| 亚洲mv大片欧洲mv大片精品| 亚洲午夜精品一区二区| 精品久久人人做人人爽| 国内国产精品久久| 色呦呦国产精品| 洋洋成人永久网站入口| 禁久久精品乱码| 国产女同互慰高潮91漫画| 成人三级伦理片| 欧美男女性生活在线直播观看| 午夜精品福利久久久| 亚洲精品专区| 国产精品不卡一区| 91美女片黄在线观看| 欧美一区二区成人6969| 精品在线你懂的| 欧美视频一区二区三区四区 | 欧美日韩一级二级三级| 午夜精品视频一区| 国产精品久久久久久久久久妞妞 | 鲁大师影院一区二区三区| 亚洲免费看黄网站| 亚洲裸体视频| 亚洲色图在线视频| 亚洲人成网站在线观看播放 | 午夜一级久久| 亚洲国产wwwccc36天堂| 国产欧美日本| 亚洲一区二区三区爽爽爽爽爽| 亚洲高清免费| 亚洲一区二区三区美女| 国产日韩高清一区二区三区在线| 亚洲精品成人悠悠色影视| 亚洲激情婷婷| 亚洲国产精品自拍| 色噜噜偷拍精品综合在线| 免费一级片91| 欧美二区在线观看| 成人午夜免费视频| 久久久亚洲午夜电影| 欧美精品99| 一区二区三区小说| 久久久久国产精品一区三寸 | 久久综合九色综合97_久久久| 91免费国产视频网站| 国产欧美一区二区三区在线老狼 | 日韩二区三区在线观看| 欧美性受xxxx黑人xyx性爽| 激情都市一区二区| 欧美mv日韩mv国产| 国内成+人亚洲| 亚洲一区自拍偷拍| 欧美午夜宅男影院| 成人免费高清视频在线观看| 久久久99免费| 伊伊综合在线| 美女视频黄 久久| 欧美成人欧美edvon| 欧美女激情福利| 一区二区三区四区乱视频| 色婷婷综合五月| 国产99久久久国产精品潘金网站| 国产日产亚洲精品系列| 国产伦精品一区二区三区视频孕妇| 日本一道高清亚洲日美韩| 日韩一二三区不卡| 亚洲大胆女人| 麻豆91免费观看| 久久久精品日韩欧美| 制服诱惑一区二区| 国产老肥熟一区二区三区| 国产精品久久久久aaaa| 色先锋资源久久综合| www.日韩av| 亚洲成人av福利| 欧美mv日韩mv亚洲| 香蕉久久国产| av在线免费不卡| 亚洲成人av一区二区| 久久伊人蜜桃av一区二区| 国产精品手机视频| 不卡的av网站| 天堂午夜影视日韩欧美一区二区| 精品国内片67194| 亚洲欧美激情诱惑| av成人动漫在线观看| 午夜精品福利一区二区三区av| 欧美va亚洲va国产综合| 国产欧美91| 91原创在线视频| 日本不卡视频一二三区| 久久精品一区二区三区四区| 在线观看日韩电影| 激情综合自拍| 成人app网站| 日本成人中文字幕| 国产精品国产三级国产专播品爱网| 欧美午夜精品电影| 91久久在线| 91麻豆免费观看| 黄色日韩网站视频| 亚洲五码中文字幕| 中文字幕免费不卡| 日韩精品专区在线影院观看| 久久久久久久欧美精品| 欧美日韩精品免费观看视频完整| 久久疯狂做爰流白浆xx| 亚洲伊人色欲综合网| 亚洲国产精品av| 精品日韩在线一区| 欧美精品丝袜中出| 久久综合九色| 国产农村妇女精品一二区| 欧美一区成人| 不卡的av在线| 国产成人自拍在线| 久久国产精品露脸对白| 丝袜亚洲精品中文字幕一区| 亚洲日穴在线视频| 国产精品激情偷乱一区二区∴| 精品美女一区二区| 欧美一区二区播放| 欧美美女bb生活片| 精品视频一区二区三区免费| 久久不射中文字幕| 国产精品久久777777毛茸茸 | 日本不卡不码高清免费观看| 亚洲国产综合人成综合网站| 亚洲视频每日更新| 国产精品初高中害羞小美女文| 久久女同互慰一区二区三区| 日韩精品一区二区三区swag| 日韩一区二区高清| 9191久久久久久久久久久| 欧美三区在线观看| 欧美私模裸体表演在线观看| 在线观看日韩毛片| 欧美视频在线观看一区二区| 在线亚洲人成电影网站色www| 久久国产日韩欧美| 久久国产精品高清| 色婷婷亚洲一区二区三区| 久久青青草原一区二区| 久久综合九色99| 欧美在线观看18| 欧美精品成人一区二区三区四区| 欧美日韩一区二区三区视频| 欧美日韩高清一区| 日韩欧美卡一卡二| 久久在线观看免费| 日本一区二区三区在线不卡| 国产精品素人一区二区| 日韩美女视频19| 香港成人在线视频| 久久国产精品露脸对白| 国产在线精品国自产拍免费| 国产麻豆午夜三级精品| 成人黄色777网| 国产精品v亚洲精品v日韩精品| 精品白丝av| 久久中文在线| 91麻豆精品国产91久久久使用方法| 欧美一区二区三区在线观看 | 亚洲欧美精品在线观看| 欧美色窝79yyyycom| 日韩视频在线观看一区二区| 国产欧美一区二区三区网站| 亚洲色图欧洲色图| 奇米精品一区二区三区在线观看一| 国产麻豆视频一区二区| 91美女在线观看| 欧美亚洲一区| 日韩午夜av电影|