Comment puis-je limiter la taille de la pièce jointe (fichier à télécharger) dans AngularJS?
Je veux la meilleure façon de télécharger des fichiers avec le chargement de l'image dans AngularJS. En même temps, je veux limiter la taille de 10 mo.
Alors que cette question est un peu vieux, je pense toujours que c'est la peine de fournir la meilleure réponse possible pour ceux qui cherchent. La réponse ci-dessus s'appuie sur jQuery pour les aspects superficiels, mais nous allons utiliser un style de raccord Angulaire du développement.
uploader =newFileUploader();//...
uploader.filters.push({'name':'enforceMaxFileSize','fn':function(item){return item.size <=10485760;//10 MiB to bytes}});
EXEMPLE de mise à JOUR ci-DESSUS: afin de refléter les changements à la angular-file-upload API.
Notez que cela s'appuie sur le fichier size attribut (Blob taille en octets), qui est uniquement pris en charge par les navigateurs modernes (à savoir IE10).
Euh... à la réflexion, ce que l'enfer est uploader dans l'exemple ci-dessus ou, au moins, où êtes-vous censé .push les filtres?! Désolé pour l'imprécision. uploader est une instance de FileUploader la uploader = new FileUploader();. Sera mise à jour de l'exemple. également mis à jour mon code d'exemple pour refléter les changements apportés à la angulaires-téléchargement de fichier FileUploader#filters API.
<inputtype="file"file="File1"id="File1"name="File1"ng-model="File1"valid-extensions="doc,docx,xls,xlsx,pdf,tiff,zip,ppt,pptx"max-size="20000"/><divclass="alert alert-danger"ng-show="form.File1.$error.type && (form.File1.$touched || Submitted)"Role="alert">This form only allows the following file types: *.doc, *.docx, *.xls, *.xlsx, *.ppt, *.pptx, *.pdf, *.tiff, *.zip</div><divclass="alert alert-danger"ng-show="form.File1.$error.size && (form.File1.$touched || Submitted)"Role="alert">The file is too large to send to us, please limit indivudual files to 20 megabytes.</div>
Alors que cette question est un peu vieux, je pense toujours que c'est la peine de fournir la meilleure réponse possible pour ceux qui cherchent. La réponse ci-dessus s'appuie sur jQuery pour les aspects superficiels, mais nous allons utiliser un style de raccord Angulaire du développement.
Ici, je référence de la bibliothèque réelle auteur de la recommandation quand on a posé la même question, la modifiant pour la taille demandé dans la question ci-dessus:
EXEMPLE de mise à JOUR ci-DESSUS: afin de refléter les changements à la
angular-file-upload
API.Notez que cela s'appuie sur le fichier
size
attribut (Blob taille en octets), qui est uniquement pris en charge par les navigateurs modernes (à savoir IE10).uploader
dans l'exemple ci-dessus ou, au moins, où êtes-vous censé.push
les filtres?!Désolé pour l'imprécision.
uploader
est une instance deFileUploader
lauploader = new FileUploader();
. Sera mise à jour de l'exemple.également mis à jour mon code d'exemple pour refléter les changements apportés à la angulaires-téléchargement de fichier
FileUploader#filters
API.OriginalL'auteur runderworld
Vous pouvez utiliser cette lib:
https://github.com/danialfarid/ng-file-upload
OriginalL'auteur Jack
Voir cet exemple vous faire une idée
CODE HTML :
SCRIPT:
son déjà en jsfiddle
OriginalL'auteur Murugan Pandian
C'est la directive-je utiliser à la fois tirer le fichier dans Angulars portée, de valider la taille du fichier et valider les extensions.
HTML
OriginalL'auteur CountZero
Utiliser la directive
OriginalL'auteur Imran Kabir