繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP应用 >> 利用ADODB.Stream使用浏览器下载服务器文件

利用ADODB.Stream使用浏览器下载服务器文件

2006-02-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:   download.asp?file=相对路径的文件 就可以把这个文件下载下来

   download.asp?file=相对路径的文件

就可以把这个文件下载下来

<%

2

3 call downloadFile(replace(replace(Request("file"),"\",""),"/",""))

4

5 Function downloadFile(strFile)

6 ' make sure you are on the latest MDAC version for this to work

7 ' -------------------------------------------------------------

8

9

10 ' get full path of specified file

11 strFilename = server.MapPath(strFile)

12

13

14 ' clear the buffer

15 Response.Buffer = True

16 Response.Clear

17

18 ' create stream

19 Set s = Server.CreateObject("ADODB.Stream")

20 s.Open

21

22 ' Set as binary

23 s.Type = 1

24

25 ' load in the file

26 on error resume next

27

28

29 ' check the file exists

30 Set fso = Server.CreateObject("Scripting.FileSystemObject")

31 if not fso.FileExists(strFilename) then

32 Response.Write("

Error:

" & strFilename & " does not exist

")

33 Response.End

34 end if

35

36

37 ' get length of file

38 Set f = fso.GetFile(strFilename)

39 intFilelength = f.size

40

41

42 s.LoadFromFile(strFilename)

43 if err then

44 Response.Write("

Error:

" & err.Description & "

")

45 Response.End

46 end if

47

48 ' send the headers to the users browser

49 Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name

50 Response.AddHeader "Content-Length", intFilelength

51 Response.CharSet = "UTF-8"

52 Response.ContentType = "application/octet-stream"

53

54 ' output the file to the browser

55 Response.BinaryWrite s.Read

56 Response.Flush

57

58

59 ' tidy up

60 s.Close

61 Set s = Nothing

62

63

64 End Function

65

66 %>

责任编辑:admin
相关文章