人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

WEB環(huán)境中后臺自動上傳文件至數(shù)據(jù)庫的完成

WEB環(huán)境中后臺自動上傳文件至數(shù)據(jù)庫的完成

更新時間:2021-03-06 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):



概述
本文講解了一個使用辦公之星控件實現(xiàn)后臺自動上傳文件的例子,使用該方法沒有選擇文件步驟,可以在WEB環(huán)境下實現(xiàn)類似單機環(huán)境下點擊保存文件的效果。

引言

為了在HTML網(wǎng)頁中獲得上傳功能,在客戶端我們可以使用如下格式的FORM:

<FORM NAME="myForm"
ACTION="TargetURL.asp"
ENCTYPE="multipart/form-data"
METHOD="post">
<INPUT TYPE="file" NAME="myFile">
<INPUT TYPE="submit" VALUE="Upload File">
</FORM>

這種方案在客戶端和服務(wù)器端的使用都有很多限制。首先,我們必須使用POST方法,因為GET方法無法處理這樣的表單數(shù)據(jù)。并且,沒有什么方法可以在不使用表單的情況下引發(fā)一個POST動作。把數(shù)據(jù)發(fā)送給表單處理程序后,瀏覽器將會把處理程序作為新頁面加載,然后使用者會看到一個不討人喜歡的頁面轉(zhuǎn)換過程。

辦公之星控件中的上傳方案

需要按照如下步驟操作:

客戶端:

將辦公之星控件所編輯的文檔保存至本地
利用HTTP協(xié)議將保存的臨時文檔發(fā)送給Web服務(wù)器

服務(wù)器端:

從Request對象中讀出上傳的二進(jìn)制文檔
讀出二進(jìn)制數(shù)據(jù)并且存儲到數(shù)據(jù)庫的BLOB型字段中。

利用辦公之星控件可以在WEB環(huán)境下實現(xiàn)和WORD功能相當(dāng)?shù)膱D文混排以及字處理功能,但如何將所編輯的文檔保存至服務(wù)器端?上述的方案似乎沒有什么新東西。按照前言中的說明,file控件的value值為只讀,一定存在選擇文檔在手動點擊上傳按鈕的過程。是這樣嗎?先介紹二個辦公之星控件接口方法:

1. SaveToTempFile(str filename)

將當(dāng)前用辦公之星控件編輯的文檔保存至本地形成一個臨時文件,參數(shù)filename為臨時文件的文件名稱。該方法會返回一個參數(shù),這個參數(shù)表示臨時文件的絕對路徑。示例: SaveToTempFile("abc.ost")

2. UpLoadFile(str filepath,str operatorfile)

將本地指定文件上傳至服務(wù)器端,參數(shù)filepath為本地待上傳文件的絕對路徑,operatorfile為服務(wù)器端用來接收上傳文件流的文件名稱。該方法會返回一個參數(shù),提示操作過程中是否成功。示例:UpLoadFile("c:\abc.ost","http://www.oapro.com/save.asp")

看到這里,相信您已經(jīng)明白了,辦公之星控件已提供接口方法,將指定文件自動上傳。下面給出客戶端完整的代碼:

<script language="vbscript">
Public Sub mnuFileSave_click()
dim str,strRet

'生成臨時文件
str=OStar.SaveToTempFile("abc.ost")

'將臨時文件上傳
strRet=OStar.UpLoadFile(str,"http://www.oapro.com/save.asp")

'上傳成功與否提示
alert(strRet)
End Sub
</script>

上述頁面中OStar為辦公之星控件在頁面中的操作對象名稱。以下代碼為服務(wù)器端如何處理上傳文件并保存至數(shù)據(jù)庫:

<%
' 定義變量和對象
dim sql
dim rs
dim UpFile
dim conn
dim connstr
dim db

'保存上傳文件的數(shù)據(jù)庫名稱
db="db.mdb"

'取得上傳的二進(jìn)制數(shù)據(jù)
UpFile=Request.BinaryRead(Request.TotalBytes)

'建立數(shù)據(jù)庫連接
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
sql="select UpFile from OStarRepTemplate where (id is null)"
rs.open sql,conn,1,3
rs.addnew

'添加上傳的二進(jìn)制內(nèi)容入數(shù)據(jù)庫
rs("UpFile").AppendChunk UpFile
rs.update

' 銷毀數(shù)據(jù)庫連接對象
rs.close
set rs=nothing
conn.close
set conn=nothing

' 返回存儲信息
Response.Write "Upload successful!"
%>

以上服務(wù)器端代碼并未考慮是否第一次保存,如果是的話,那么在數(shù)據(jù)庫中新建一個記錄保存上傳的文件,如果不是第一次保存,那么應(yīng)該是修改以前保存的記錄。

使用該方法的益處

不引起頁面轉(zhuǎn)換。
不需要專用組件。

這段程序是純腳本寫成的,可以很容易的插入到其他代碼中,而不需要任何HTML對象的配合。還可以把這個邏輯在任何支持COM標(biāo)準(zhǔn)的語言中實現(xiàn)。


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

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 屯留县| 罗田县| 体育| 淮滨县| 文昌市| 惠水县| 上蔡县| 东台市| 荥阳市| 定州市| 渝北区| 三亚市| 长治县| 西峡县| 阿拉善右旗| 桦南县| 高台县| 稷山县| 荆州市| 志丹县| 光泽县| 平果县| 万源市| 平顺县| 望奎县| 新巴尔虎左旗| 招远市| 佛冈县| 嘉黎县| 剑川县| 蓬溪县| 余江县| 治县。| 南乐县| 淮阳县| 彩票| 哈巴河县| 中西区| 许昌市| 定州市| 巴南区|