2017-09-11 3 views
0

Ich verwende,Apache FileItem zu Byte-Array?

org.​apache.​commons.​fileupload.​FileItem 

Ich möchte mit einer Datei mit JSP Servlet hochladen,

<form action="someAction" method="post" enctype="multipart/form-data"> 

Gibt es eine Möglichkeit, diese Datei/Element an einen Byte-Array zu konvertieren? Zur Zeit habe ich in meinem Servlet getan,

 List<FileItem> multiparts = upload.parseRequest(req); 
     for (FileItem item : multiparts) { 
      if (!item.isFormField()) { 
       //Custom class need byte array as the file's content 
       CustomClass doc = new CustomClass(); 
       //Need to set byte array value to this 
       doc.setValue(byte array); 
       item --> byte array???? 
      } 
     } 

Antwort

0

Vom javadoc (Schwerpunkt liegt mir):

Nach einer Instanz dieser Klasse von einer FileUpload Instanz zu erhalten (siehe #parseRequest(javax.servlet.http.HttpServletRequest)), können Sie entweder Fordern Sie den gesamten Inhalt der Datei auf einmal get() an oder fordern Sie einen InputStream mit getInputStream() an und verarbeiten Sie die Datei, ohne zu versuchen, sie in den Arbeitsspeicher zu laden, was bei LAR hilfreich sein kann ge Dateien.