sitter och funderar lite men har inte kommit fram till något bra.
Det är så att jag skulle vilja räkna antal nedladdningar av en fil på min sida, men vet inte riktigt hur???
Trycker man på länken så ska ju det räknas upp i en databas och sedan ska nedladdningen börja. Okey en funktion som räknar upp ett i databasen är jag med på men hur får jag sedan nedladdningen att börja typ när sidan har laddats om och databasen är uppdaterad??
Kommer den sidan som innehåller länken visas då? Jag vill ju att det ska vara precis som att trycka på en länk. Sidan kommer ju att laddas om men när den gjort det ska ju nedladdningen starta...
Nej. Kör du utan flush eller liknande så visas den inte. ASP koden körs på serversidan så besökaren kommer aldrig märka någonting. Möjligen att sidan laddar något längre med det ska vara det enda och under den korta tiden är webbfönstert bara vitt.
Jag är inte riktigt med, men om jag lägger denna kod så den körs när man klickar på länken kommer då sidan laddas om så den visas och att nedladdningens dialogen kommer upp eller???
Eller varför streamar man, är inte riktigt med där?
Funderar på om man kan göra så att när man tryck på länken så räknas det upp i databasen och sedan så fyller asp koden i en Body onload tagg med filnamnet. då borde väll sidan laddas så man ser den och sedan när onload körs så får man upp dialogen om nedladdningen av den angivna filen i Onload ?????
Du länkar till denna sida där du även skickar med information om just vilken fel du vill ladda ner.
Självklart kontrollerar du att inga otillåtna filnamn skickas med.
Länken skulle kunna se ut typ: <a href=download.asp?file=file_name.exe>
i download.asp som länken leder till kör du först en uppdatering i databasen på just denna fil, vilket jag antar var det du ville göra, sen anropar du den koden jag skickade i föregående inlägg.
Du byter självklart ut filepath mot någontin riktigt. På detta sätt kommer "dialogrutan" att öppnas.
Application/octet-stream tvingar nämligen alla webbläsare att öppna filen som en dialogruta, även htm, asp och andra filer.
Får inte koden att fungera! Följande felmeddelande ges, och jag hänger inte riktigt med på paranteserna...
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0414)
Det går inte att använda parenteser när en Sub anropas.
/dev/index.asp, line 7, column 63
"attachment; filename=""" & Request.QueryString("file") & """")
Får det att fungera genom att nedladdningsfönstret öppnas. Dock får alla filer jag laddat ned och sparat 315 bytes o filerna går naturligtvis inte att öppna (har prövat filer från några Kb till flera Mb), någon som har en idé om vad som är galet?
FileId = Clng(request.querystring("Id"))
Set objRS = db.execute("SELECT Filepath FROM DownloadFile WHERE Id = " & FileId & "")
If NOT objRS.EOF Then
Filepath = objRS("Filepath")
db.execute("UPDATE DownloadFile SET Downloads = Downloads + 1 WHERE Id = " & FileId & ""),, 128
end if
objRS.Close
Set objRS = Nothing
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", _
"attachment; filename=""" & Filepath & """"
Response.Flush()
Response.WriteFile("d:\www\site1\www\upload\" & Filepath)
267 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25