9
votes

Téléchargement de fichier Grails - Comment reconnaître le type de fichier et / ou de contenu?

Je suis un greva débutant, alors soyez patient avec moi. Actuellement, j'ai des temps difficiles à manipuler des téléchargements de fichiers. Pour autant que je comprends bien en utilisant demande.getfile () Je peux facilement obtenir le flux d'octets. Mais avant de faire cela, je veux vérifier ce qui suit:

  • Nom de fichier du fichier en cours de téléchargement
  • Taille du fichier du fichier en cours de téléchargement
  • Type de contenu / fichier du fichier en cours de téléchargement

    Comment cela peut-il être fait? Est-ce même possible avant que le fichier soit téléchargé sur le serveur? Je voudrais bloquer le téléchargement de gros fichiers.


1 commentaires

Voulez-vous faire cela sur le front ou le dos?


3 Réponses :


19
votes

Toutes les informations sont contenues dans le COMMONSMUNTIPARTIFILE objet que vous pouvez lancer votre paramètre de demande à.

Vous pouvez l'utiliser comme ça (dans votre contrôleur) p>

<INPUT name="fileInputName" type="file" maxlength="100000">


2 commentaires

Tout cela à condition que vous utilisiez une simple soumission de formulaire HTML.


Bonne et bonne réponse utile. Vous venez de me sauver beaucoup de temps. Merci :))



1
votes

ou vous pouvez obtenir des propriétés de fichier téléchargées directement sans utiliser CommonsMultiparfile code>.

def ufile = request.getFile("fileInputName")
println(ufile.contentType)
println(ufile.originalFilename)
println(ufile.size)


0 commentaires

0
votes

du côté serveur, il est possible d'utiliser la configuration à Application.yml pour limiter la taille de fichier Application large.

Il suffit d'insérer ce code sur votre Application.yml : xxx

voir:

Guide des grails - Télécharger le fichier

GRAVES3 téléchargement de fichier maxfilesize limite


0 commentaires