11. oktober 2006 - 15:49
Der er
4 kommentarer og
1 løsning
Altid blive spurgt, om man vil gemme fil på computer
Hej Eksperter.
Jeg er i gang med at programmere en side, som gør det muligt at uploade filer til serveren og derefter få vist de uploade filer som i en mappe. (Det vil sige; i stedet for bare at udskrive links til filerne har jeg bare opstillet det som i en windowsmappe med ikoner, filoplysninger, o.lign.)
Jeg har dog det problem, at jeg ønsker, at brugeren _altid_ skal blive spurgt, om han ønsker at gemme en fil på computeren, når han klikker på den. Som det er nu, bliver visse filtyper (.doc, billedfiler, .txt, .xls, .pps, osv.) bare vist i browseren, mens det fungerer med blandt andet .mdb. Er det på nogen måde muligt at ændre dette og derved opnå, at alle filer udløser en "Vil du gemme på computer"-prompt?
Håber I kan hjælpe mig.
Tobias
11. oktober 2006 - 20:59
#2
Har du evt. et link til ASP-koden? =S
Har prøvet at søge lidt på google og her på eksperten, men aner simpelthen ikke, hvad jeg skal søge efter. Får ikke de rigtige resultater i hvert fald.
11. oktober 2006 - 21:40
#3
Nå, jeg har løst det nu med noget "hvis ikke internet explorer 4.0 eller over, så åbn fil normalt". Hvis du lige opretter svar.. =)
12. oktober 2006 - 09:19
#4
ASP koden til en download.asp fil er:
<%
Response.Expires = -1
Dim filename
Dim shortfn
shortfn = request.querystring("filnavn")
filename = server.mappath("filer/" & 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
%>
du kalder så et link sådan:
<a href="download.asp?filnavn=minFil.pdf">Hent fil</a>
og du skal have rettet:
filename = server.mappath("/filer/" & shortfn)
til at pege på dit fil bibliotek.