ladda ner film utan att den öppnas

Permalänk
Medlem

ladda ner film utan att den öppnas

Har en sida där jag lägger upp mina filmer (som jag själv filmat typ semester etc). På sidan kan man dels se filmer (streaming) men man ska även kunna ladda hem filmen. Detta är mitt lilla problem. Hur gör jag så filmen inte öppnas i webbläsaren när man vänsterklickar på den utan att den laddas ner. Visst kan man be folk högerklicka men skulle vara trevligt om man slapp göra det. Är detta möjligt?

Visa signatur
Permalänk
Medlem

Du måste sätta headers som säger att den skall sparas. Du kan tvinga att det sparas genom att lägga till:

Response.ContentType = "application/x-msdownload";
Response.AddHeader("Content-Disposition", "attachment; filename=FILNAMN.AVI");

Typ så. Alltså ändra MIME type i headern till application istället för att den automatisk läser att det är en videofil som kan streamas.

Permalänk
Medlem

Du kan enklast göra detta med PHP: http://stackoverflow.com/questions/7263923/how-to-force-file-...
Dock bör du kolla så att PHP inte har en timeout på 30 sekunder vilket skulle innebära att nedladdningen avbryts efter 30 sek.

EDIT: Tittade lite på min egen webbsida (~5 år gammal) och hade gjort så här:

header('Content-Description: File Transfer'); header('Content-Type: application/force-download'); header('Content-Disposition: attachment; filename="video.mp4"'); header('Content-Length: '.filesize($file).''); readfile($file);

Permalänk
Medlem
Skrivet av Ernesto:

Du måste sätta headers som säger att den skall sparas. Du kan tvinga att det sparas genom att lägga till:

Response.ContentType = "application/x-msdownload";
Response.AddHeader("Content-Disposition", "attachment; filename=FILNAMN.AVI");

Typ så. Alltså ändra MIME type i headern till application istället för att den automatisk läser att det är en videofil som kan streamas.

Var ska jag lägga denna kod?

Visa signatur
Permalänk
Medlem
Skrivet av Perrablerra:

Har en sida där jag lägger upp mina filmer (som jag själv filmat typ semester etc). På sidan kan man dels se filmer (streaming) men man ska även kunna ladda hem filmen. Detta är mitt lilla problem. Hur gör jag så filmen inte öppnas i webbläsaren när man vänsterklickar på den utan att den laddas ner. Visst kan man be folk högerklicka men skulle vara trevligt om man slapp göra det. Är detta möjligt?

Om din sida är den som finns i din signatur så tror jag du är ute efter något sådant här: http://redmine.lighttpd.net/projects/1/wiki/Mimetype_assignDe...

Sedan lägga till mp4 där som dina filmer verkade vara i och sätta den som "application/octet-stream" så bör den försöka ladda ner filmen direkt du klickat på den.

Använder inte lighttpd så jag är inte säker på att detta fungerar överhuvudtaget.

Permalänk
Medlem
Skrivet av Perrablerra:

Var ska jag lägga denna kod?

Det beror lite på hur koden är uppbyggd - Vad är sidan skriven i för språk? Är det nån wordpress?

Om man länkar till filmerna via en kodsida lägger man in det där - om man länkar direkt till filmen med en länk, måste man ändra i apache/iis så att filtyper av den sorten behandlar annorlunda.

För apache gör man så här:

http://www.flashcentral.com/Tech/SERVER/Apache.htm

(Jättejobbigt beskrivet, som typ allt för linux, men googla efter "Set mime types in web server" eller liknande så får du svar.

Permalänk
Medlem
Skrivet av Ernesto:

Det beror lite på hur koden är uppbyggd - Vad är sidan skriven i för språk? Är det nån wordpress?

Om man länkar till filmerna via en kodsida lägger man in det där - om man länkar direkt till filmen med en länk, måste man ändra i apache/iis så att filtyper av den sorten behandlar annorlunda.

För apache gör man så här:

http://www.flashcentral.com/Tech/SERVER/Apache.htm

(Jättejobbigt beskrivet, som typ allt för linux, men googla efter "Set mime types in web server" eller liknande så får du svar.

Skriver i vanlig html. Får ta en till och hoppas jag fattar

Visa signatur
Permalänk
Medlem

Här är en bättre guide:

http://www.htaccess-guide.com/adding-mime-types/

Sen lägger du ju till följande:

AddType application/octet-stream .avi

Då säger vi till webbservern (apache) att .avi filer ska behandlar som binära filer och inte som en film-fil när man begär att de öppnas - Då kommer din dator vilja spara filen och inte försöka spela den, för då tror ju inte din dator att det är en film (förrns den är nedladdad)

Permalänk
Medlem
Skrivet av Ernesto:

Här är en bättre guide:

http://www.htaccess-guide.com/adding-mime-types/

Sen lägger du ju till följande:

AddType application/octet-stream .avi

Då säger vi till webbservern (apache) att .avi filer ska behandlar som binära filer och inte som en film-fil när man begär att de öppnas - Då kommer din dator vilja spara filen och inte försöka spela den, för då tror ju inte din dator att det är en film (förrns den är nedladdad)

Funkar detta med alla videofiltyper eller bara avi? Kör med .mp4

Visa signatur
Permalänk
Medlem

AddType application/octet-stream .avi .mp4 .mkv

Permalänk
Medlem

Kalas. Detta funkar ju galet bra. Tusen tack

Visa signatur