ASP Classic-Download-Dateiskript
Ich habe eine Website, die in ASP Classic erstellt wird, und Probleme mit einem Skript, mit dem ein Benutzer eine Datei herunterladen kann, aber den Pfad zur Datei verbirgt.
Wenn sich ein Benutzer auf einer Seite befindet, wird ihm ein Link angezeigt. Der Link ist folgendermaßen codiert:
<a href="download.asp?file=FILE-NAME-HERE" target="_blank">Download File</a>
Über diesen Link gelangen sie zu download.asp, wo Code ausgeführt wird, um die Datei abzurufen und bereitzustellen. Hier ist der Code, den ich gerade habe:
<%
const adTypeBinary = 1
dim strFilePath, strFile
strFilePath = "/_uploads/private/"
strFile = Request.QueryString("file")
if strFile <> "" then
'Set the content type to the specific type that you are sending.
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFile
set objStream = Server.CreateObject("ADODB.Stream")
objStream.open
objStream.type = adTypeBinary
objStream.LoadFromFile(strFilePath & strFile)
response.binarywrite objStream.Read
objStream.close
Set objStream = nothing
end if
%>
Diesen Code habe ich aus beiden Fragen auf dieser Seite zusammengestellt (So laden Sie die Dateien mit vbscript in klassischem ASP herunter), und vonhttp://support.microsoft.com/kb/276488
Was jedoch passiert, ist, dass die download.asp-Seite mir den Fehler "Datei nicht gefunden" anzeigt, obwohl sich die Datei korrekt im Webverzeichnis "/ _uploads / private /" befindet.
Der Dateityp kann einer von mehreren sein, einschließlich pdf, xls, docx usw.
Befindet sich in meinem Code etwas, das nicht zulässt, dass die Datei gefunden wird?