Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Bestandsgroote controleren met javascript

Anoniem
None
8 antwoorden
  • Is het mogelijk om met javascript een bestand op grootte te controleren.
    Ik heb namelijk een form gemaakt waarmee je een bestand kunt uploaden.
    De maximale toegestane grootte wil ik zelf in kunnen stellen.
    Dit lukt ook wel met PHP maar het formulier wordt eerst inclusief bestand overgestuurd.
    Vervelend als je maar 100k toe wil laten en iemand upload een bestand van 1mb. Je krijgt dan pas een foutboodschap als het hele bestand verstuurt is. Bedankt alvast weer
  • Nee dat is niet mogelijk. De HTML input tag biedt daar geen mogelijkheden voor en javascript is zo afgeschermd dat je geen rechten hebt op het filesystem van de client.

    De enige mogelijkheden die ik zie zijn een custom plugin of java-applet. Of gebruik maken van ActiveX (IE only), bijvoorbeeld het filesystemobject. Met andere woorden, als het niet voor een intranet is of een webbased applicatie zou ik het maar laten bij wat het is en dat is uploaden en server-side de controle uitvoeren.
  • Okay, is duidelijk, bedankt
  • [code:1:f9faae6647]
    <HTML>
    <HEAD>
    <SCRIPT>
    function getImageDimension (imgURL, loadHandler) {
    var img = new Image();
    img.onload = loadHandler;
    if (document.layers
    && location.protocol.toLowerCase() != 'file:'
    && navigator.javaEnabled())
    netscape.security.PrivilegeManager.enablePrivilege(
    'UniversalFileRead'
    );
    img.src = imgURL;
    }
    function getFileSize (fileName) {
    if (document.layers) {
    if (navigator.javaEnabled()) {
    var file = new java.io.File(fileName);
    if (location.protocol.toLowerCase() != 'file:')
    netscape.security.PrivilegeManager.enablePrivilege(
    'UniversalFileRead'
    );
    return file.length();
    }
    else return -1;
    }
    else if (document.all) {
    window.oldOnError = window.onerror;
    window.onerror = function (err) {
    if (err.indexOf('utomation') != -1) {
    alert('file access not possible');
    return true;
    }
    else
    return false;
    };
    var fso = new ActiveXObject('Scripting.FileSystemObject');
    var file = fso.GetFile(fileName);
    window.onerror = window.oldOnError;
    return file.Size;
    }
    }
    function showImageDimensions () {
    alert(this.width + 'x' + this.height);
    }
    </SCRIPT>
    <SCRIPT>
    function checkImageDimensions (fileName) {
    var imgURL = 'file:///' + fileName;
    getImageDimension(imgURL, showImageDimensions);
    }
    </SCRIPT>
    </HEAD>
    <BODY>
    <FORM NAME="formName">
    <INPUT TYPE="file" NAME="fileName">
    <BR>
    <INPUT TYPE="button" VALUE="check file size"
    ONCLICK="alert(getFileSize(this.form.fileName.value))"
    >
    <BR>
    <INPUT TYPE="button" VALUE="check image dimensions"
    ONCLICK="checkImageDimensions(this.form.fileName.value)"
    >
    </FORM>
    </BODY>
    </HTML>
    [/code:1:f9faae6647]
    werkt dit ook niet,
    kwam het tegen op een site via google,
    maar heb het niet getest..
  • [quote:445227d219="thatsmej"]
    werkt dit ook niet,
    kwam het tegen op een site via google,
    maar heb het niet getest..[/quote:445227d219]
    Dat zal ongetwijfeld werken (niet getest overigens). Maar hier maak je dus gebruik van de technieken die ik hierboven ook vermeld. En voor standaard gebruik op internet dus meestal niet echt echt een optie.
  • valt me eigenlijk nu pas op dat het java is ipv javascript

    shame on me :oops:
  • [quote:36db0c51f3="thatsmej"]valt me eigenlijk nu pas op dat het java is ipv javascript

    shame on me :oops:[/quote:36db0c51f3]

    Zeker shame on you…

    dit is namelijk absoluut geen java.

    Het is gewoon javascript waarin óf een java óf een activex object wordt aangeroepen.
  • Nee, dat ActiveX is zeker niet de bedoeling. Je beperkt hiermee weer een groep bezoekers die ActiveX niet aan hebben staan.
    Ik blijf bij Javascript en PHP.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.