webForumDet fria alternativet

ladda hem fil utanför webrooten

ASP

2 svar · 220 visningar · startad av tlee

Medlem sedan mars 2001290 inlägg
Frågan#1

Hej!

Ett problem..

Jag har en databas med filnamn i.
Filerna ligger på samma server som hemsidan ligger på.

Jag behöver ett script som heter get_file.asp.
Scriptet skall funka såhär, den ansluter till databasen
hämtar filnamnet med hjälp av ett ID. (get_file.asp?ID=3 t.ex).

Med hjälp av filnamnet skall man sedan kunna hämta en filen från serverns
hårddisk och få fram "spara som" dialogrutan. Hur funkar det?

filerna kommer inte ligga under www-rooten utan på en annan volym så
response.redirect(/filnamn) kommer ej funka.

Vad tror ni om det?

/t

Medlem sedan juli 2001324 inlägg
#2

För att besökaren ska kunna hämta filen måste den ligga i din webroot. Det du kan göra är att skriva en funktion som hämtar filen från platsen utanför din webroot, kopierar filen till en mapp på din webroot och när besökaren hämtat filen raderar din funktion den temporära filen...

Ett annat alternativ är att placera dokumentet direkt i databasen, genom blob fältet. På detta sätt kan du styra så att endast de med behörighet har rätt att läsa filerna.

Men som sagt, bara några tips, kanske kan hjälpa dig en bit på vägen !

Medlem sedan juni 20014 290 inlägg
#3

Bättre variant.

I ditt script styr du hela http biten själv:

pseudokod:

Skriv ut "Content-type: application/octet-stream"
Skriv ut "ny rad"
Läs in och skriv ut filen binärt.

Med skrivut menar jag skrivut till stdout.

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)