Download 在asp classic上下载DWG文件
我需要从服务器上的文件夹下载文件 我曾在ASP Classic中尝试过这段代码,但当文件为DWG时,下载不起作用 我没有错误,这段代码下载所有文件类型是出了DWG文件 有人能帮我吗 提前谢谢 下面是我的代码 getfile.aspDownload 在asp classic上下载DWG文件,download,asp-classic,dwg,Download,Asp Classic,Dwg,我需要从服务器上的文件夹下载文件 我曾在ASP Classic中尝试过这段代码,但当文件为DWG时,下载不起作用 我没有错误,这段代码下载所有文件类型是出了DWG文件 有人能帮我吗 提前谢谢 下面是我的代码 getfile.asp <% Function BaseName(byVal Path) Dim Pos Path = Replace(Path,"/","\") Pos = InStrRev(Path,"\") If Pos>0 then
<%
Function BaseName(byVal Path)
Dim Pos
Path = Replace(Path,"/","\")
Pos = InStrRev(Path,"\")
If Pos>0 then
BaseName = Mid(Path,Pos+1)
Else
BaseName = Path
End if
end function
Function ReadFile(FileName)
Dim Stream , Path
On error resume next
Path = Server.MapPath(FileName)
If Err.Number<>0 then Path = FileName
On error goto 0
Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Type=1
Stream.Open()
Stream.LoadFromFile Path
Stream.Position=0
ReadFile = Stream.Read()
Stream.Close()
Set Stream = Nothing
End Function
' Timeout
Server.ScriptTimeout=6000
if Len(Trim(request.querystring("file"))) > 0 then
file = server.mappath(request.querystring("file"))
else
Response.Write("file not found")
Response.end
end if
response.ContentType="application/octet-stream"
response.AddHeader "Content-Disposition", "attachment; filename=" & BaseName(file)
Response.BinaryWrite ReadFile(File)
Response.End
%>
<script language="JavaScript" type="text/javascript">
function doDownload(file1, file2, frmName)
{
var ifrmObj = document.getElementById((frmName && frmName.length > 0) ? frmName : "dwnFrm1");
ifrmObj.src = "";
ifrmObj.src = "getFile.asp?file=" + file1;
if (!file2 || file2.length <= 0) return;
// Timeout
window.setTimeout("doDownload('" + file2 + "', '', 'dwnFrm2');", 3000);
}
</script>
<body bgcolor="#EAEFFF">
<iframe id="dwnFrm1" style="display: none;"></iframe>
<iframe id="dwnFrm2" style="display: none;"></iframe>
extDWG = right(directoryfile.Name, 3)
if extDWG = "dwg" then
response.write ("<a href=""javascript:void(0);"" onclick=""doDownload('/MyFolder/" & Server.HTMLencode(folder) & "/"& Server.HTMLencode(directoryfile.Name) &"', '/MyFolder/" & Server.HTMLencode(folder) & "/X-cart.dwg');"">")
else
response.write ("<a href=""/MyFolder/" & folder & "/" & directoryfile.Name &""">")
end if
0那么
BaseName=Mid(路径,位置+1)
其他的
BaseName=路径
如果结束
端函数
函数ReadFile(文件名)
幽暗的小溪、小路
出错时继续下一步
Path=Server.MapPath(文件名)
如果Err.Number0,则路径=文件名
错误转到0
Set Stream=Server.CreateObject(“ADODB.Stream”)
Stream.Type=1
Stream.Open()
Stream.LoadFromFile路径
Stream.Position=0
ReadFile=Stream.Read()
Stream.Close()
设置流=无
端函数
“超时
Server.ScriptTimeout=6000
如果Len(Trim(request.querystring(“文件”))>0,则
file=server.mappath(request.querystring(“文件”))
其他的
Response.Write(“未找到文件”)
答复:完
如果结束
response.ContentType=“应用程序/八位字节流”
response.AddHeader“内容处置”、“附件;文件名=”&BaseName(文件)
Response.BinaryWrite ReadFile(文件)
答复.完
%>
default.asp
<%
Function BaseName(byVal Path)
Dim Pos
Path = Replace(Path,"/","\")
Pos = InStrRev(Path,"\")
If Pos>0 then
BaseName = Mid(Path,Pos+1)
Else
BaseName = Path
End if
end function
Function ReadFile(FileName)
Dim Stream , Path
On error resume next
Path = Server.MapPath(FileName)
If Err.Number<>0 then Path = FileName
On error goto 0
Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Type=1
Stream.Open()
Stream.LoadFromFile Path
Stream.Position=0
ReadFile = Stream.Read()
Stream.Close()
Set Stream = Nothing
End Function
' Timeout
Server.ScriptTimeout=6000
if Len(Trim(request.querystring("file"))) > 0 then
file = server.mappath(request.querystring("file"))
else
Response.Write("file not found")
Response.end
end if
response.ContentType="application/octet-stream"
response.AddHeader "Content-Disposition", "attachment; filename=" & BaseName(file)
Response.BinaryWrite ReadFile(File)
Response.End
%>
<script language="JavaScript" type="text/javascript">
function doDownload(file1, file2, frmName)
{
var ifrmObj = document.getElementById((frmName && frmName.length > 0) ? frmName : "dwnFrm1");
ifrmObj.src = "";
ifrmObj.src = "getFile.asp?file=" + file1;
if (!file2 || file2.length <= 0) return;
// Timeout
window.setTimeout("doDownload('" + file2 + "', '', 'dwnFrm2');", 3000);
}
</script>
<body bgcolor="#EAEFFF">
<iframe id="dwnFrm1" style="display: none;"></iframe>
<iframe id="dwnFrm2" style="display: none;"></iframe>
extDWG = right(directoryfile.Name, 3)
if extDWG = "dwg" then
response.write ("<a href=""javascript:void(0);"" onclick=""doDownload('/MyFolder/" & Server.HTMLencode(folder) & "/"& Server.HTMLencode(directoryfile.Name) &"', '/MyFolder/" & Server.HTMLencode(folder) & "/X-cart.dwg');"">")
else
response.write ("<a href=""/MyFolder/" & folder & "/" & directoryfile.Name &""">")
end if
函数doDownload(文件1、文件2、frmName)
{
var ifrmObj=document.getElementById((frmName&&frmName.length>0)?frmName:“dwnFrm1”);
ifrmObj.src=“”;
ifrmObj.src=“getFile.asp?file=“+file1;
如果(!file2 | | file2.length,则需要在服务器上为dwg文件添加mime类型
不常见的文件扩展名通常没有关联
- 在旧版IIS(版本6/7)中,右键单击IIS管理器中的服务器并选择“属性”,然后单击“MIME类型”按钮。此处需要添加具有正确MIME类型的.dwg文件记录
- 在IIS 8中,单击IIS管理器中的站点名称,选择MIME类型。然后以相同的方式添加,如下所述:
按new并根据扩展类型而定,在您的情况下,我猜在短时间的google搜索后,.dwg应该将应用程序/acad作为mime类型
希望这有帮助。您需要在服务器上为dwg文件添加mime类型
不常见的文件扩展名通常没有关联
- 在旧版IIS(版本6/7)中,右键单击IIS管理器中的服务器并选择“属性”,然后单击“MIME类型”按钮。此处需要添加具有正确MIME类型的.dwg文件记录
- 在IIS 8中,单击IIS管理器中的站点名称,选择MIME类型。然后以相同的方式添加,如下所述:
按new并根据扩展类型而定,在您的情况下,我猜在短时间的google搜索后,.dwg应该将应用程序/acad作为mime类型
希望这有帮助