Dies ist eine bereits erstellte Fiddle für mehrere Dateien in einer Anfrage Fiddle. Jetzt möchte ich eine Validierung haben, in der keine Datei größer als 1MB
sein sollte. Wie kann ich das machen ? Wie kann ich durch Fehler bei jeder Datei gehen. ?NgfileUpload - So wenden Sie die Validierung einer Datei an, während Sie alle in einer Anfrage senden
0
A
Antwort
1
Sie können durch jede der Dateien iterieren und deren Größe überprüfen und dann den von Ihnen gewünschten Fehler anzeigen. Ich habe hier einfach die Fehlermeldung gesetzt, aber Sie können etwas anderes tun.
//inject angular file upload directives and services.
var app = angular.module('fileUpload', ['ngFileUpload']);
app.controller('MyCtrl', ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) {
$scope.uploadFiles = function (files) {
$scope.files = files;
if (files && files.length) {
if (!files.every(function(file) {
return file.size < 1;
})) {
return $scope.errorMsg = 'File size too big';
};
Upload.upload({
url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
data: {
files: files
}
}).then(function (response) {
$timeout(function() {
$scope.result = response.data;
});
}, function (response) {
if (response.status > 0) {
$scope.errorMsg = response.status + ': ' + response.data;
}
}, function (evt) {
$scope.progress =
Math.min(100, parseInt(100.0 * evt.loaded/evt.total));
});
}
};
}]);
Verwandte Themen
- 1. So wenden Sie zufällige Gesamtstruktur ordnungsgemäß an?
- 2. So wenden Sie Bewertungssterne in UITableViewCells an
- 3. So wenden Sie die Berechtigung auf Benutzerebene in opencart an
- 4. So senden Sie Daten von einer Aktivität an die Schnittstelle
- 5. So senden Sie Daten in einer Post-Anfrage mit RestClient
- 6. So wenden Sie diesen Stil an
- 7. So wenden Sie die jquery-Funktion auf jede Instanz an
- 8. So wenden Sie die gleiche Funktion auf jede angegebene Spalte in einer data.table an
- 9. So wenden Sie CSS auf Eingabewerte an
- 10. So binden Sie Benutzerobjekt an Anfrage in einer Middleware
- 11. So senden Sie Post-Anfrage an server.js in cloud9
- 12. Wie wenden Sie Swift Generics/Protokolle in einer Klassenhierarchie an?
- 13. So senden Sie eine Ajax-Anfrage innerhalb einer Klassenfunktion
- 14. So senden Sie eine Authentifizierung mit einer Anfrage mit Supertest
- 15. Laravel-Validierung während Ajax-Anfrage
- 16. javascript: So senden Sie Anfrage in Ruhe
- 17. So erstellen, laden und löschen Sie Datei in einer Anfrage
- 18. Wenden Sie mehrere Richtlinien in Segeln auf einer Route an
- 19. So zeigen Sie die Werte aus einer app.config-Datei an
- 20. So wenden Sie CSS in CartoDB Map-Layer an?
- 21. So erstellen Sie Patches für alle Änderungen an einer Datei in einer Verzweigung
- 22. So wenden Sie Hex auf die ganze Welt an
- 23. Senden Sie Datei + Parameter in Post-Anfrage
- 24. So wenden Sie die gleiche Funktionalität auf zwei Schaltflächen an
- 25. So wenden Sie eine Funktion auf alle Felder an (alle Spalten aller Zeilen)
- 26. So senden Sie Datei mit Ajax Post-Anfrage in Django
- 27. So senden Sie Parameter von einer http-Anfrage an andere in Jmeter
- 28. Wie wenden Sie 'oder' auf alle Werte einer Liste in Python an?
- 29. Senden einer Anfrage an einen Drittanbieter-Server
- 30. Knockout-Validierung - So zeigen Sie Fehlermeldungen an
Streng von einem Benutzer Sicht, werden sie von Ihrer Website auf diese Weise nicht blockiert mag wird. Wenn meine Mutter von einer Nachricht "Images max 1MB" blockiert wird, hat sie keine Ahnung, was ein MB ist, geschweige denn ein Bildgewicht reduzieren. Sie wird also keine andere Wahl haben als Ihre Website zu verlassen. Sie sollten damit umgehen, indem Sie das Image entweder clientseitig (Canvas) oder serverseitig skalieren. –
Ich glaube, es gibt eine 'size' Eigenschaft für jedes hochgeladene' File' Objekt. Hast du es versucht? –