[ TinyMCE ] Bestands download forceren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 18-08 11:59
Wanneer in TinyMCE gebruik wordt gemaakt van een bestandsmanager, werkt dit ideaal voor het selecteren en uploaden van bestanden. Nu heb ik dus recentelijk een .mp3 geupload, alleen nu kom ik terecht bij het volgende probleem. De mp3 begint middels QuickTime direct vanuit de browser af te spelen.

Mijn eerste oplossing zou zijn om middels een extra regel in m'n .htaccess bestand alle requests naar een php script te sturen, welke dan de download forceert. Echter is het probleem hierbij dat er ook bestanden zijn welke niet geforceerd gedownload moeten worden aangezien deze op de site staan. Niet wenselijk dus.

Nu ben ik dus op zoek naar een optie in TinyMCE, iets in de vorm van een vinkje bij de link-selector waardoor de download geforceerd wordt. Wellicht iets in de vorm van een plugin/filter, waardoor de link omgezet wordt in een mooie button welke bij een onclick event een Javascript functie aanroept. Een tweede is namelijk dat ik naast de geforceerde download ook de Google Analytics Pagetracker z'n werk wil laten doen voor dat bestand.

Uiteraard hebk het nodige research gedaan, en kwam onderstaande URLs tegen:
http://www.webdeveloper.c...ead.php?s=&threadid=13938
http://www.webdeveloper.c...ad.php?t=41625#post227563
http://tinymce.moxiecode.com/punbb/viewtopic.php?id=2285

Acties:
  • 0 Henk 'm!

  • digital-IMEI
  • Registratie: December 2005
  • Laatst online: 05-09 07:53
Het ligt er een beetje aan op welke manier je linkt naar de mp3 bestanden maar is het niet mogelijk om in je link het volgende aan te geven onder "target" Open in new windows (_blank)?

Eventueel een voorbeeldje misschien?

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Zover ik weet ligt het aan de instellingen in de browser (van de bezoeker) of een bestand gedownload wordt of direct geopend. Door een server-side script kan er inderdaad een force-download "header" meegestuurd, maar ik denk niet dat er een plug-in te vinden is voor TinyMCE.

Wat misschien zou kunnen, is een Javascript bouwen dat alle links op je website door loopt, en aan de hand van de extentie(s) de HREF veranderd, zodat deze verwijst naar het download.php bestand. Maar echt geweldig is dat niet...

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 18-08 11:59
Sjengcity schreef op dinsdag 17 maart 2009 @ 11:34:
Het ligt er een beetje aan op welke manier je linkt naar de mp3 bestanden maar is het niet mogelijk om in je link het volgende aan te geven onder "target" Open in new windows (_blank)?

Eventueel een voorbeeldje misschien?
Dit kan vanuit TinyMCE inderdaad al ingesteld worden, maar gevolg is dat dan in het nieuwe venster de mp3 afgespeeld wordt. En hierdoor is het niet echt mogelijk om de Analytics tracker z'n werk te laten doen.
OkkE schreef op dinsdag 17 maart 2009 @ 11:36:
Zover ik weet ligt het aan de instellingen in de browser (van de bezoeker) of een bestand gedownload wordt of direct geopend. Door een server-side script kan er inderdaad een force-download "header" meegestuurd, maar ik denk niet dat er een plug-in te vinden is voor TinyMCE.

Wat misschien zou kunnen, is een Javascript bouwen dat alle links op je website door loopt, en aan de hand van de extentie(s) de HREF veranderd, zodat deze verwijst naar het download.php bestand. Maar echt geweldig is dat niet...
Dit is lastig beheerbaar te maken vanuit de gebruikers kant te zien. Iets 'download.php' achtigs heeft als gevolg dat dit voor alle bestanden geldt, en daarom is het dan ook geen optie. Als scenario/voorbeeldje:

Stel ik wil afbeelding 1 wel geforceerd downloaden, en afbeelding 2 maakt deel uit van de pagina. Ze zijn beide geupload via TinyMCE, dus dat zou dan betekenen dat ze door het php script hetzelfde behandeld worden. Gevolg is dat bij het openen van de pagina de gebruiker meteen een geforceerde download voorgeschoteld krijgt.

Ik heb nu een tijdje ge-Googled, en het verbaasd me dat niet meer mensen met dit probleem zitten.

Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 18-08 11:59
De eerste link hierboven schijnt overigens alleen IE-compatibel te zijn, zoals in de tweede link gemeldt wordt. De oplossing is denk ik een Javascript zijn welke een pop-up maakt met daarin header informatie. Alleen dan zit ik alsnog met de beheerbaarheid vanuit TinyMCE.

In TinyMCE heb je bij de Advanced optie van de Link overigens wel iets met de relationship welke de pagina's met elkaar hebben. Waar staat deze relationship voor, want daar zit ook iets van 'content' tussen.

Zie http://tinymce.moxiecode.com/examples/full.php

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Zonder je verder te helpen met het probleem:

Persoonlijk vind ik het ook iets dat een keuze van de bezoeker is, en moet blijven. Eigenlijk net als een target in een link; laat mij als bezoeker zelf bepalen of ik die link in het zelfde scherm wil openen of niet. Als ik een bepaald bestand wil opslaan, doe ik dat wel via een right-click, en anders open in 'em gewoon in mijn browser; ik wil niet dat een website dat voor mij bepaald.

On-topic

Ik zou geen andere oplossing weten dan doorsturen naar een download.php. Misschien kun je via TinyMCE een rel-attribute of extra class instellen bij links die geforceerd moeten worden, en op die manier via Javascript alleen de links die moeten veranderen?

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • digital-IMEI
  • Registratie: December 2005
  • Laatst online: 05-09 07:53
Rvanlaak schreef op dinsdag 17 maart 2009 @ 11:46:
Dit kan vanuit TinyMCE inderdaad al ingesteld worden, maar gevolg is dat dan in het nieuwe venster de mp3 afgespeeld wordt. En hierdoor is het niet echt mogelijk om de Analytics tracker z'n werk te laten doen.
Is het niet een idee om dat naar een andere pagina te laten verwijzen en in die pagina het bestand aan te roepen waardoor je toch GA kunt gebruiken?
iets in de trend van mp3file.php?file=redhotchilipeppers-snow.mp3

Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 18-08 11:59
OkkE schreef op dinsdag 17 maart 2009 @ 11:54:
Zonder je verder te helpen met het probleem:

Persoonlijk vind ik het ook iets dat een keuze van de bezoeker is, en moet blijven. Eigenlijk net als een target in een link; laat mij als bezoeker zelf bepalen of ik die link in het zelfde scherm wil openen of niet. Als ik een bepaald bestand wil opslaan, doe ik dat wel via een right-click, en anders open in 'em gewoon in mijn browser; ik wil niet dat een website dat voor mij bepaald.
Daar heb je zeker gelijk in, en ben ik het helemaal mee eens! Alleen ik denk dat veel gebruikers niet voor zichzelf bepalen dat een .mp3 in de browser opent. Volgens mij ergeren zich meer mensen aan het feit dat het bestand zich in de browser opent, aangezien het laden van QuickTime ook de nodige tijd duurt. Overigens zou ik niet eens weten hoe ik dit in m'n browser uit kan zetten.

Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 18-08 11:59
Sjengcity schreef op dinsdag 17 maart 2009 @ 11:55:
[...]

Is het niet een idee om dat naar een andere pagina te laten verwijzen en in die pagina het bestand aan te roepen waardoor je toch GA kunt gebruiken?
iets in de trend van mp3file.php?file=redhotchilipeppers-snow.mp3
Heb je gelijk in, zo loste ik het tot voor kort dan ook altijd op. Alleen het concept is dat het beheerbaar moet zijn vanuit TinyMCE, zodat de gebruikers er niet mp3file.php?file=... voor hoeven te typen.

Ik bedenk me net dat ik nu alleen vanuit TinyMCE's insert link functie denk. Wellicht is het beter om te denken aan de 'media' plugin. Hierin staat een dropdown met de verschillende media, en daar een optie aan toevoegen voor een download knop zou meer tot de verbeelding spreken denk ik. Dan is het ook logisch om een dergelijke source download knop bij de "Windows Media" advanced opties toe te voegen.

Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 18-08 11:59
Is het middels pure html wel mogelijk om een download te forceren? Anders kan namelijk een pop-up getoond worden welke dmv javascript gegenereerde html bevat...

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Rvanlaak schreef op dinsdag 17 maart 2009 @ 19:28:
Is het middels pure html wel mogelijk om een download te forceren? Anders kan namelijk een pop-up getoond worden welke dmv javascript gegenereerde html bevat...
't Is zelfs mogelijk om het via HTTP headers te doen:
content-disposition: attachment; filename=<foo.bar>

Ik gebruik dit zelf om te zorgen dat voor een webapplicatie die ik ontwikkeld heb, gegenereerde reporting PDFs gedownload worden ipv inline met Adobe's browser plugin getoond worden. Overigens; voordat mensen op hun achterste poten gaan staan over usability en wensen / instellingen van de gebruiker: het linkje / knopje is daar duidelijk gelabeld als zijnde 'download rapport'. ;)


Kun je niet je webserver zo instellen dat afhankelijk van mime-type of extensie van het bestand de content-disposition header automatisch toegevoegd wordt?

Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 18-08 11:59
R4gnax schreef op donderdag 19 maart 2009 @ 13:30:
Kun je niet je webserver zo instellen dat afhankelijk van mime-type of extensie van het bestand de content-disposition header automatisch toegevoegd wordt?
Zou inderdaad wel kunnen, alleen zit ik er meer mee dat ik het vanuit TinyMCE beheerbaar wil maken. De filter geldt in zo'n geval voor alle bestanden, waardoor dus een geforceerde download ook bij bestanden gebeurt waar dat niet de bedoeling voor is.

Is er niet iets als een 'download button' voor TinyMCE dus?
Pagina: 1