Hent en fil fra server udenfor wwwroot
hej!Via et upload script gemmer jeg filer som er udenfor wwwroot
den ligger i : C:\W3Sites\quitzauconstruction\intrafiles\
Root ligger i: C:\W3Sites\quitzauconstruction\www\
Jeg skal med et ASP script så kunne give en bruger mulighed for at downloade en fil derfra, jeg har forsøgt med dette, men får denne fejl:
Server.MapPath() error 'ASP 0172 : 80004005'
Invalid Path
/intra/getfile.asp, line 25
The Path parameter for the MapPath method must be a virtual path. A physical path was used.
Nogen som kan hjælpe??
------------
min kode
------------
<!--#include file="head.asp" -->
<%
strFil = "select * from fil where id = " & ID & ""
Set RSFil= conn.Execute(strFil)
%>
<%
strMappe = "select * from filmappe where id = " & rsfil("ID") & ""
Set RSMappe= conn.Execute(strMappe)
if not instr(session("id"),rsMappe("brugerid")) <> 0 then
response.write "NOPE"
else
Dim filename
Dim shortfn
Dim mappe
'mappe =
shortfn = rsfil("filsti")
filename = server.mappath("C:\W3Sites\quitzauconstruction\intrafiles\" & shortfn)
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
Const adTypeBinary = 1
objStream.Type = adTypeBinary
objStream.LoadFromFile Replace(filename,"/","\")
Response.AddHeader "Content-Disposition", "attachment;filename=" & shortfn
Select Case right(filename,3)
Case "asf"
ContentType = "video/x-ms-asf"
Case "avi"
ContentType = "video/avi"
Case "doc"
ContentType = "application/msword"
Case "zip"
ContentType = "application/zip"
Case "xls"
ContentType = "application/vnd.ms-excel"
Case "gif"
ContentType = "image/gif"
Case "jpg", "jpeg"
ContentType = "image/jpeg"
Case "wav"
ContentType = "audio/wav"
Case "mp3"
ContentType = "audio/mpeg3"
Case "mpg", "mpeg"
ContentType = "video/mpeg"
Case "rtf"
ContentType = "application/rtf"
Case "htm", "html"
ContentType = "text/html"
Case "asp"
ContentType = "text/asp"
Case Else
'Handle All Other Files
ContentType = "application/octet-stream"
End Select
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
end if
%>
