2017-05-09 1 views
-1

서버의 폴더에서 파일을 다운로드해야합니다.asp classic에서 DWG 파일 다운로드

ASP 클래식에서이 코드를 시도했지만 파일이 DWG 일 때 다운로드가 작동하지 않습니다.

오류가 없습니다.이 코드는 DWG 파일 용으로 모든 파일 유형을 다운로드하는 코드입니다.

아무도 도와 줄 수 있습니까?

미리 감사드립니다.

아래 코드를 참조하십시오.

getfile.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 
%> 

default.asp와

<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

당신은 서버에서 DWG 파일의 MIME 형식을 추가해야합니다.

흔히 사용되는 파일 확장명에는 연관이 없습니다.

  • 이전 IIS (버전 6/7)에서 IIS 관리자에서 서버를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 MIME 형식 단추를 클릭합니다. 여기서 올바른 MIME 유형을 가진 .dwg 파일에 대한 레코드를 추가해야합니다.
  • IIS 8에서는 IIS 관리자에서 사이트 이름을 클릭하고 MIME 형식을 선택합니다. 아래에 설명 된대로 그리고, 같은 방법으로 추가 :

를 눌러 새로운 응용 프로그램/ACAD을 가져야한다을 .DWG 있다는 것이다 짧은 구글 검색 후 내 생각 엔 확장 유형과 귀하의 경우에 따라 MIME 형식으로.

희망이 도움이됩니다.

관련 문제