JavaScript Upload controle
Ik heb een upload formulier voor mensen die foto's kunnen uploaden. Je hebt van die foto's die rond de 5 mb(maakt niet uit dat het 5 mb is, of groter of kleiner, het is gewoon vervelend) zijn. Om pas op de server te controleren of dat de file groter is dan 5mb gaat je dus dataverkeer kosten.
Ik zoek dus iets(geen script request, maar is altijd welkom ;-) )
waarmee ik met javascript de file kan zien en kan zeggen: Jij mag er door of jij mag niet door.
Is dit mogelijk en hoe zou ik dat met javascript op kunnen vragen?
<input type="hidden" name="MAX_FILE_SIZE" value="64000">
In de meeste gevallen werkt dat wel. In dit voorbeeld is de maximaal toegestane grootte 64 kB. De input moet wel meteen na je form tag komen.
Gewijzigd op 09/03/2006 17:10:00 door - wes -
Jan Koehoorn: Ik hoorde dat MAX_FILE_SIZE niet veilig is en je dat gemakkelijk(Ik weet niet hoe, maar het schijnt makkelijk te zijn te zijn) te negeren.
Het liefst heb ik gewoon een functie om er voor te zorgen dat het gecontroleert word en als iemand javascript heeft uitstaan dat het formulier het gewoon niet meer doet.
Met javascript gaat het niet (meer) lukken. Misschien met wat priveleges. ActiveX denk ik wel (met wat priveleges) maar dan krijg je wel zo'n lelijke 'warning' balk bovenaan de pagina.
http://www.jguru.com/faq/view.jsp?EID=330134
http://www.faqts.com/knowledge_base/view.phtml/aid/1685/fid/177
Een functie die het controleert voordat de upload plaatsvindt ken ik niet. Er zit trouwens vanuit PHP ook een maximale grootte op uploads (ik dacht 2 mB).
Na een upload kun je met PHP checken via:
$_FILES['userfile']['size']
als je input type file tenminste 'userfile' heet.
Wel bedankt voor het snel reageren, had ik niet zo snel verwacht eigenlijk...
mag ik vragen waarom niet met php? en hoe je nu je bestanden wegschrijft?
Dat kost dus 5mb dataverkeer: 1 keer is het niet zo erg, maar elke dag 20 keer wel. Ik wil dit dus al voor zijn, voordat het word op gestuurd
Als iemand een upload doet, is dat wel upstream in plaats van downstream. Ik vraag me af of dat bij je dataverkeer opgeteld wordt. Weet iemand dat?
Lijkt mij wel, aangezien het dataverkeer is en geen eenrichtingdataverkeer ;-)
Jan:
Als het goed is (of als het slecht is ;-)) wel.Als iemand een upload doet, is dat wel upstream in plaats van downstream. Ik vraag me af of dat bij je dataverkeer opgeteld wordt. Weet iemand dat?
als iemand een file upload, dan is dat voor hem UPLOAD maar voor de server gezien is dit DOWNLOAD . dit is net omgekeerd als je een bestandje download van de server
echo "De bestandsgrootte is groter dan 40kb! <a href='javascript:history.go(-1)'>Ga terug</a>!";
}