ASP利用ADODB.Stream物件可以進行檔案的下載, 但如果web server的檔案室要透過過網路芳鄰下載, 則要先做 UNC權限設定, 以下是相關程式:
filename = "\\192.168.1.1\remote_files\aa.txt" 'UNC檔名
Set fso = Server.CreateObject("Scripting.FileSystemObject")
'簡查檔案是否存在
If fso.FileExists(filename) Then
'取得檔案資料
Set objFile = fso.GetFile(filename)
Response.Clear
'使用者接收設定
Response.AddHeader "Content-Disposition", "attachment; filename=" & objFile.Name
Response.AddHeader "Content-Length", objFile.Size
Response.ContentType = "application/octet-stream"
'建立 ADODB Stream 物件
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
'二進位方式傳送
objStream.Type = 1
'設定編碼
Response.CharSet = "UTF-8"
'載入檔案
objStream.LoadFromFile(filename)
'二進為方式傳送
Response.BinaryWrite(objStream.Read)
'完成,關閉物件
objStream.Close
Set objStream = Nothing
Set objFile = Nothing
Else
Response.Clear
Response.Write("檔案不存在")
End If
Set fso = Nothing
Response.End
沒有留言:
張貼留言