Wer weiß, wie man eine Dateierweiterung bei einer Dateieingabe überprüft und ein div basierend auf dem Dateityp anzeigt. Ich muss verschiedene Upload-Optionen basierend auf der hochgeladenen Datei angeben. Der Text fragt nach einem Eingabetyp oder zip zeigt eine alternative Unterteilung an.angularjs show Verstecken basierend auf Dateierweiterung der Dateieingabe
0
A
Antwort
0
Verwenden Sie diese answer aus einer anderen Frage, achten Sie auf Änderungen an der Dateieingabe. Holen Sie den Dateityp, fügen Sie ihn zum Geltungsbereich hinzu und verwenden Sie dann ng-show
/ng-if
, um das/die richtige (n) Element (e) anzuzeigen/auszublenden.
var app = angular.module("app", []);
app.controller("controller", function($scope) {
$scope.file = {};
$scope.fileType = "";
$scope.uploadFile = function() {
$scope.fileType = $scope.file.name.substring($scope.file.name.lastIndexOf(".") + 1);
};
});
// See https://stackoverflow.com/a/24085688/3894163
app.directive('file', function() {
return {
require:"ngModel",
restrict: 'A',
link: function($scope, el, attrs, ngModel){
el.bind('change', function(event){
var files = event.target.files;
var file = files[0];
ngModel.$setViewValue(file);
$scope.$apply();
});
}
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script>
<div ng-app="app" ng-controller="controller">
<input data-file ng-model="file" type="file" ng-change="uploadFile()" />
File type: {{fileType}}
<div ng-show="fileType === 'txt'">
TXT
</div>
<div ng-show="fileType === 'pdf'">
PDF
</div>
<div ng-show="fileType === 'png'">
PNG
</div>
<div ng-show="fileType === 'jpg'">
JPG
</div>
<div ng-show="fileType === 'docx'">
DOCX
</div>
</div>
Verwandte Themen
- 1. AngularJS ng-Show kann sich nicht verstecken
- 2. AngularJS: Warum funktioniert ng-show nicht auf IE11? verstecken
- 3. Show/Hide <tr> basierend auf Dropdown auswählen - AngularJS
- 4. Zeige Dateisymbole basierend auf der Dateierweiterung
- 5. Dateierweiterung verstecken und auf https umleiten
- 6. TreeView ändern LeafNodeStyle.ImageUrl basierend auf Dateierweiterung
- 7. ng-wenn zu verstecken/show Zeile, wenn der Wert = 0
- 8. AngularJS - verstecken Bedingtes eine Spannweite
- 9. AngularJs ng-show Verwendung
- 10. ng-Show basierend auf einem Wert in einem Array
- 11. jquery Tooltips: anhängen/vs. Show entfernen/verstecken
- 12. Angularjs ng-show funktioniert nicht
- 13. jquery -Diese-Show und verstecken für Tooltip
- 14. SSRS verstecken Textfeld basierend auf Anzahl der Zeilen im Bericht
- 15. AngularJs ng-show auf spezifischem Element
- 16. CSS anwenden, basierend auf Zustand AngularJS
- 17. show/hide div basierend auf der Option jquery
- 18. WiX Show Dialog basierend auf der zu installierenden Funktion
- 19. Flex - Show/Hide ComboBox basierend auf der Auswahl
- 20. jQuery show Schiebe Panel von der linken Seite verstecken
- 21. Ng-hide oder ng-show basierend auf Benutzerrollen
- 22. Angularjs überschreiben ng-show ng-ausblenden auf: hover
- 23. AngularJS refesh show Leere Seite
- 24. Validierung der Dateierweiterung in AngularJs vor dem Hochladen
- 25. Filterergebnisse in angularjs basierend auf ausgewählten Wert
- 26. angularjs ng-show vs neue Vorlagen
- 27. einschränken/Dateizugriff in tomcat zuläßt basierend auf Dateierweiterung über Whitelist
- 28. Sortierung Listenelemente basierend auf der Position auf Leinwand in angularjs
- 29. Show/Hide <tr> basierend auf mehrere <select> box - AngularJS
- 30. Animationen in AngularJS ng-show
Sie meinen andere als die Dateien Array des input [type = "file"] ?? –