企業(yè)移動(dòng)網(wǎng)站建設(shè)商百度賬號(hào)登陸
ASPupload組件使用幫助 | |
使用ASP實(shí)現(xiàn)文件上載到WEB服務(wù)器 ASPupload 2.0版,相關(guān)源文件如下(uploadTest.htm): 其中客戶端文件要注意兩點(diǎn): * 文件上載提交表單(Form)的enctype必須指定為“multipart/form-data” * 語句表示上載文件域,用戶可以在該域中輸入或選定文件。 服務(wù)器端源文件如下(uploadTest1.asp): <%response.buffer=true%> <%Set Upload=Server.createobject("Persits.Upload.1") '創(chuàng)建文件上載組件 Count=Upload.Save("e:/aspupload") '將客戶端文件保存到WEB服務(wù)器端的本地硬盤上%> 上載了<%=Count%>個(gè)文件 File has been uploaded. 其中,腳本Set Upload=Server.createobject("Persits.Upload.1")創(chuàng)建了文件上載組件,該組件通過調(diào)用Save方法將瀏覽器端的文件內(nèi)容保存到指定路徑。 將文件存在數(shù)據(jù)庫(kù)中 將文件保存在數(shù)據(jù)庫(kù)中主要用了ASPUpLoad組件中文件對(duì)象的ToDatabase方法。源文件如下: 客戶端源文件(uploadToDB.htm): 讀取數(shù)據(jù)庫(kù)中文件 服務(wù)器端源文件(uploadToDB.asp): <%Set Upload=Server.createobject("Persits.Upload.1") Count=Upload.Save("e:/aspupload") on error resume next set FileObj=Upload.Files("FileUpload") SQL="insert into upLoadFile (Title,FileName,Content) values ('"&FileObj.Path&"','"&FileObj.Path&"',?)" response.write SQL FileObj.ToDatabase "DSN=FileUpload;UID=sa;",SQL if Err<>0 then Response.write "Error Saving the file:"&Err.Description else FileObj.delete response.write "Success!" end if %> 從數(shù)據(jù)庫(kù)中讀取文件內(nèi)容并發(fā)送給客戶端瀏覽器 從數(shù)據(jù)庫(kù)中讀取內(nèi)容在發(fā)送給瀏覽器之前,首先必須讓瀏覽器知道內(nèi)容的數(shù)據(jù)類型,這通過向客戶端發(fā)送ContentType描述實(shí)現(xiàn)。為簡(jiǎn)單起見,這里假設(shè)發(fā)送的內(nèi)容是Word文檔,并且顯示最新插入的記錄。源文件如下: 客戶端源文件為uploadToDB.htm(同上一部分的客戶端文件)。 服務(wù)器端源文件(readFile.asp): <%Response.Expires = 0 response.buffer=true%> <%response.clear Response.ContentType = "application/msword" set conn=server.createobject("adodb.connection") conn.open "DSN=FileUpload;UID=sa;" set rs1=conn.execute("select maxid=max(id) from uploadFile") SQL="select * from uploadFile where id="&rs1("maxid") set rs=conn.execute(SQL) Response.BinaryWrite rs("Content") rs.close rs1.close conn.close Response.End %> 其中,Web Server向客戶端發(fā)送Content-Type="application/msword",使客戶端認(rèn)為這是Word文檔,然后服務(wù)器從數(shù)據(jù)庫(kù)中讀取文件內(nèi)容(為簡(jiǎn)單起見,假定是數(shù)據(jù)庫(kù)中最后一條記錄),然后以二進(jìn)制流的方式向客戶端發(fā)送(調(diào)用ASP內(nèi)置對(duì)象Response的BinaryWrite方法)。當(dāng)客戶端接收到這些內(nèi)容后便自動(dòng)啟動(dòng)Word OLE服務(wù),使Word控件嵌在瀏覽器IE中將收到的內(nèi)容格式化顯示。 |