问:asp下载文件,打开出错

Huixing2008 2005-10-09 05:04:08
利用asp对上传的文件进行下载。
在下载的dialog中,点击[保存]时,文件能正常保存到本机。
当点[打开]时,出现错误,提示当前文件没有找到。
这是一个很奇怪的问题。

能保存说明路径没有问题。但是打开出错,为什么呢?
哪位大虾分析一下可能是什么原因。
...全文
97 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Huixing2008 2005-10-09
  • 打赏
  • 举报
回复
以下是代码!

Function funcDownload(strURL)

Response.Buffer = True
Response.Clear

On Error Resume Next

Dim fso 'ファイルオブジェクト
Dim fl 'ファイル
Dim flsize 'ファイルせず
Dim objStream 'Streamオブジェクト
Dim ContentType 'ファイルタイプ
Dim flName 'ファイル名称

'ファイルパスの獲得に失敗しました。
If Err.Number <> 0 Then
Call Msg_Output("ERR0102","","","","")
End If

Set fso=Server.CreateObject("Scripting.FileSystemObject")
'ファイルオブジェクトの新規作成に失敗しました。
If Err.Number <> 0 Then
Set fso = Nothing
Call Msg_Output("ERR0100","","","","")
End If

Set fl=fso.getfile(strURL)
'ファイルの獲得に失敗しました。
If Err.Number <> 0 Then
Set fso = Nothing
Call Msg_Output("ERR0108","","","","")
End If

flsize=fl.size
flName=fl.name
Set fso=Nothing

Set objStream = Server.CreateObject("ADODB.Stream")
'ストリーム オブジェクトの新規作成に失敗しました。
If Err.Number <> 0 Then
Set objStream = Nothing
Call Msg_Output("ERR0109","","","","")
End If

objStream.Open
'ストリームの開くに失敗しました。
If Err.Number <> 0 Then
Set objStream = Nothing
Call Msg_Output("ERR0110","","","","")
End If

objStream.Type = 1
objStream.LoadFromFile strURL
'ファイルのロードに失敗しました。
If Err.Number <> 0 Then
Set objStream = Nothing
Call Msg_Output("ERR0111","","","","")
End If

Select Case lcase(Right(flName, 4))
Case ".doc"
ContentType = "application/msword"
Case ".csv"
ContentType = "text/plain"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".htm", "html"
ContentType = "text/html"
Case ".txt"
ContentType = "text/plain"
Case Else
ContentType = "application/octet-stream"
End Select

Response.AddHeader "Content-Disposition","attachment; filename=" & flName
Response.AddHeader "Content-Length", flsize

Response.Charset = "UTF-8"
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush
Response.Clear()

objStream.Close
'ストリームの閉じるに失敗しました。
If Err.Number <> 0 Then
Set objStream = Nothing
Call Msg_Output("ERR0112","","","","")
End If

Set objStream = Nothing

funcDownload = true

End Function
wangyingdong 2005-10-09
  • 打赏
  • 举报
回复
帖代码出来看看:)
zorou_fatal 2005-10-09
  • 打赏
  • 举报
回复
帖代码

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧