六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

在線編輯公文并保存到后臺數據庫

[摘要]在線編輯公文并保存到后臺數據庫 -------------------------------------------------------------------------------- http://www.standsoft.com (2004.1.14) 文章來源:智島軟件 [IMG]...

在線編輯公文并保存到后臺數據庫
--------------------------------------------------------------------------------
http://www.standsoft.com (2004.1.14) 文章來源:智島軟件

[IMG]Http://www.hytian.com/ocx/NetOStar.jpg[/IMG]

在線演示http://www.oapro.com/ostarocx/sample/savefilepro/default.asp
源代碼http://www.oapro.com/ostarocx/download/OStarOCX_savefile.rar

概述
本文講解了一個使用辦公之星控件實現在線編輯文件并保存到后臺數據庫的例子,使用該方法沒有選擇文件步驟,可以在WEB環境下實現類似單機環境下點擊保存文件的效果。

引言

為了在HTML網頁中獲得上傳功能,在客戶端我們可以使用如下格式的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>

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

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

需要按照如下步驟操作:

客戶端:

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

服務器端:

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

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

1. SaveToTempFile(str filename)

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

2. UpLoadFile(str filepath,str operatorfile)

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

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

<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為辦公之星控件在頁面中的操作對象名稱。以下代碼為服務器端如何處理上傳文件并保存至數據庫:

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

'保存上傳文件的數據庫名稱
db="db.mdb"

'取得上傳的二進制數據
UpFile=Request.BinaryRead(Request.TotalBytes)

'建立數據庫連接
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

'添加上傳的二進制內容入數據庫
rs("UpFile").AppendChunk UpFile
rs.update

' 銷毀數據庫連接對象
rs.close
set rs=nothing
conn.close
set conn=nothing

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

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

使用該方法的益處

不引起頁面轉換。
不需要專用組件。

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


主站蜘蛛池模板: 亚洲乱码国产一区网址 | 日本一区二区三区在线 视频观看免费 | 日本大片a| 欧美系列第一页 | 亚欧精品一区二区三区 | 日韩视频在线观看免费 | 青青草国产免费久久久下载 | 一区二区三区欧美日韩 | 欧美视频在线第一页 | 欧美一区二区三区激情视频 | 天美视频在线观看 | 日韩黄色精品 | 日韩在线1| 日本中字 | 欧美性视频一区二区三区 | 亚洲v日韩v欧美在线观看 | 日韩欧美在线视频 | 亚洲h视频在线观看 | 先锋资源国产 | 欧美一级黄视频 | 天天综合网色 | 日日拍拍| 日韩欧美国产成人 | 青青视频免费 | 天天舔天天射天天干 | 日韩经典视频 | 日韩黄在线观看免费视频 | 亚洲欧美综合网 | 欧美在线视频不卡 | 日韩不卡在线视频 | 天天干天天插天天 | 亚洲 欧美 精品 中文第三 | 无码日韩精品一区二区免费 | 中国国产一国产一级毛片视频 | 亚洲欧美日韩一级特黄在线 | 伊人首页| 亚洲综合免费视频 | 香蕉成人福利片视频在线下载 | 日韩精品亚洲人成在线观看 | 色狠狠色综合久久8狠狠色 色狠狠色综合吹潮 | 日韩免费黄色片 |