日期:2014-05-17  浏览次数:21039 次

关于asp下载的问题
文件另存为的时候总是会在文件名称的后面加上一个[1],不知为什么,
比如1.abc会变成1[1].abc
希望帮下忙解决以下
谢谢阿

------解决方案--------------------
没有指定文件名.
------解决方案--------------------
是不是本地重名了啊
------解决方案--------------------
应该指定下载后的文件名
------解决方案--------------------
mark,可用
------解决方案--------------------
<%
Const ForReading=1
Const TristateTrue=-1
Const FILE_TRANSFER_SIZE=16384
Response.Buffer = True
Function TransferFile(path, mimeType, filename)
Dim objFileSystem, objFile, objStream
Dim char
Dim sent
send=0
TransferFile = True
Set objFileSystem = Server.CreateObject( "Scripting.FileSystemObject ")
Set objFile = objFileSystem.GetFile(Path)
Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue)
Response.AddHeader "content-type ", mimeType
response.AddHeader "Content-Disposition ", "attachment;filename= " & filename
Response.AddHeader "content-length ", objFile.Size
Do While Not objStream.AtEndOfStream
char = objStream.Read(1)
Response.BinaryWrite(char)
sent = sent + 1
If (sent MOD FILE_TRANSFER_SIZE) = 0 Then
Response.Flush
If Not Response.IsClientConnected Then
TransferFile = False
Exit Do
End If
End If
Loop
Response.Flush
If Not Response.IsClientConnected Then TransferFile = False
objStream.Close
Set objStream = Nothing
Set objFileSystem = Nothing
End Function

Dim path, mimeType, sucess,downfilename,downfile
downfile=request( "file ")
if downfile <> " " then
downfile=replace(downfile, "\ ", "/ ")
downfilename=mid(downfile,instrRev(downfile, "/ ")+1)
path = Server.MapPath(downfile)
mimeType= "text/plain "
sucess = TransferFile(path, mimeType,downfilename)
Response.End
end if
%>

这个不会
<a href=do.asp?file=input.gif> asdf </a>
------解决方案--------------------
代码没有问题,你换个浏览器是以下。