Ankündigung

Einklappen
Keine Ankündigung bisher.

Upload großer Files clientseitig verhindern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Hab die Grenze im Javascript auf MAX_FILE_SIZE gesetzt. Fall 2 und Fall 3 kommen dann nur noch bei deaktivierten Javascript zum Tragen. An die Webserver Konfig komme ich selbst nicht ran. Die jetzige Lösung sollte jedoch ausreichen.

    Kommentar


    • #17
      HTML-Code:
      <form method="post" enctype="multipart/form-data">
          <input type="file" data-size-max="4096" />
          <button type="submit">Upload</button>
      </form>
      
      <script>
          FileList.prototype.every = Array.prototype.every;
          document.addEventListener('change', function(event) {
              var element = event.target;
              if(!element.matches('input[type="file"][data-size-max]')) {
                  return;
              }
              var sizeMax = parseInt(element.dataset.sizeMax);
              var valid = element.files.every(function(file) {
                  return file.size < sizeMax;
              });
              if(!valid) {
                  element.setCustomValidity(`Datei darf maximal ${sizeMax} Byte gross sein`);
              }
          });
      </script>

      Kommentar


      • #18
        Der Code von Blar dürfte für ein solches Problem universell nutzbar sein. Meine Lösung ist sehr speziell und hier weniger zum Zeigen geeignet.

        Kommentar

        Lädt...
        X