webForumDet fria alternativet

Öppna filer direkt

3 svar · 363 visningar · startad av NikeAir

NikeAirMedlem sedan juni 20018 inlägg
#1

Jag har en sida med länkar till filer som besökaren kan ladda ner. Filerna är av olika typer (.doc, .pdf, .plt, .txt med mera). Länkarna som filerna ligger under är egentligen en .dll fil som med hjälp av de data som skickas vid anropet hämtar rätt fil i databasen. Men hur får jag sen filerna att öppnas automatiskt?
1. Är det inställningar hos varje användare?
2. Är det inställningar på webservern (IIS)?
3. Skall det skickas speciell MIME, content-type eller dylikt och i så fall vilken, dvs inställingar i programmet?
4. Var kan man läsa mera?
5. Hur gör man?

Tack på förhand
NikeAir

JojoxxMedlem sedan juni 20004 308 inlägg
#2

1. Är det inställningar hos varje användare?

Ja. Du kan inte tvinga klienten (webbläsaren) att starta ett visst program för att öppna din fil. Detta skulle vara en tämligen stor säkerhetsrisk. Det du kan göra är att skicka filen i fråga och hoppas att webbläsaren är rätt inställd och att aktuell visare finns. Har du ex. Acrobat Reader installerad så används den default som visare för PDF-dokument.

2. Är det inställningar på webservern (IIS)?

Vilken MIME-typ som skall användas för olika typer av dokument är en inställning på webbservern, men eftersom det är ett program (eller programtillägg) i detta fall behöver du inte tänka på det

3. Skall det skickas speciell MIME, content-type eller dylikt och i så fall vilken, dvs inställingar i programmet?

Finns det en passane MIME-typ för dokument-typen bör du skicka den. För PDF kan det ex. vara application/pdf Annars kan det räcka med filändelsen för att avgöra vad det är för filtyp av vad som skall göras med den när den laddats ner. Detta leder då vidare till frågan "Hur namnger jag en fil som är dynmiskt skapad av ett script/program?", det gör du med den rättså odokumenterade header-raden "Content-Disposition: attachment; filename=min_fil.pdf".

4. Var kan man läsa mera?

5. Hur gör man?

Det beror på vad det är för application som du använder för att returnera filerna. Stödjer den dessa funktioner ö.h.t.? Vad säger dokumentationen?

------------------
/ J

[Redigerat av Jojoxx den 02 okt 2001]

NikeAirMedlem sedan juni 20018 inlägg
#3

Tack för hjälpen hittills, men det kvarstår några problem bland annat Filnamnet.
Nu kanske inte det här har med HTML att göra längre men nån får väl isåfall flytta strängen.

Jag använder mig av en .dll fil som genom ett anrop av typen: /hämta.dll/get?filnamn=100T100&filtyp=doc&annatval=2 returnerar filen. .dll-filen är programmerad i Delphi5.
När man sedan får valet att spara filen kan dyker inte det riktiga filnamnet upp utan den föreslås heta "get" eller "get.doc".

Kan man på nåt sätt kontrollera att "Content-Disposition: attachment; filename=100T100.doc" skickas till klienten?
När jag låter bli att skicka den informationen reagerar klienten annorlunda, öppnar filen direkt då filformatet känns igen. Dock så får man fortfarande förslaget att spara den som "get".

Nån som har nåt förslag?

Nicke

JojoxxMedlem sedan juni 20004 308 inlägg
#4

Det styrs från dll'en. Den måste alltså vara skriven för att hantera de http-header rader du vill ha med.

------------------
/ J

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)