2016-08-01 20 views
0

Mein Servlet-Code beschädigt ist hierErhalten Sie ist eine Bilddatei von HTTP-Anforderung in Art Teil, wandelte sie in Eingangsstrom und speicherte es auf Computer, aber Datei

protected void doPost (HttpServletRequest Anfrage, HttpServletResponse response) wirft ServletException IOException {

Part image = request.getPart("pic"); 

    InputStream is =image.getInputStream(); 

    byte[] targetArray= new byte[is.available()]; 


    FileOutputStream fos = new FileOutputStream("F:\\image\\abc.jpg"); 
    fos.write(targetArray); 
    is.close(); 
    fos.close(); 

}

Dieser Code arbeitet und gespeicherte Dateigröße ist die gleiche wie hochgeladene Datei, aber wenn ich es öffnen, es beschädigt ist,

+0

Die Antwort im Duplikat erklärt Ihren Fehler. Diese Antwort zeigt den richtigen Weg: http://stackoverflow.com/q/18664579 – BalusC

Antwort

0

Bitte versuchen Sie diesen Code.

//add to your imports 
import java.nio.file.*; 

Part image = request.getPart("pic"); 
Path path = FileSystems.getDefault().getPath("F:/image", "abc.jpg"); 
try(InputStream is =image.getInputStream()){ 
    Files.copy(is, path); 
}