2010-07-07 11 views
2

J'essaie d'obtenir le contenu de MultipartFile, qui est obtenu par MultipartHttpServletRequest.getFile().Obtenez le contenu de MultipartFile

Il y a 2 fonctions MultipartFile:

  • bytes[] getBytes()()

  • InputStream getInputStream()

Quel est le moyen le plus efficace pour obtenir le contenu? (Quelle méthode utiliseriez-vous?)

Répondre

5

La seule différence est qu'avec getBytes() les données ont déjà été lues dans le flux, alors qu'avec getInputStream() vous devrez toujours lire les données. Ce que vous utilisez dépend de ce que vous voulez faire avec le contenu. Si c'est une image que vous voulez juste écrire sur le disque, alors getBytes() serait meilleur, mais si c'est du texte que vous voulez analyser et faire quelque chose avec, alors getInputStream() pourrait être meilleur.

+0

le contenu du fichier est une chaîne (fichier xml). J'ai donc fini par faire new String (part.getBytes()). – portoalet

+1

XML d'analyse est en fait un exemple où getInputStream() peut être utilisé, comme [SAXParser] (http://download.oracle.com/javase/6/docs/api/javax/xml/parsers/SAXParser.html) analyser La méthode() accepte InputStream. Dit que, si votre XML est dans la gamme kb et non dans la gamme Mb, cela n'a pas d'importance. – stivlo