2015-11-16 3 views
0

У меня есть загруженный файл изображения из браузера, который я получил с помощью InputStreamСохранение изображения с помощью OutputStream

Html:

<form method="POST" action='Seller_database' enctype="multipart/form-data" > 
<input type="file" name="img_input"></input> 
<input type="submit" value="submit"></input> 
</form> 

Я получаю значения через InputStream в сервлет,

Part img=request.getPart("img_input"); 
InputStream fileContent = img.getInputStream(); 

Теперь я хотел сохранить файл введенного изображения в определенную папку.

Пожалуйста, предложите ли использовать OutputStream или ImageOutputStream или любым другим способом

+1

[ 'Files.copy'] (HTTP: // документы .oracle.com/JavaSE/7/Docs/API/Java/NiO/файл/Files.html # копировать% 28java.io.InputStream,% 20java.nio.file.Path,% 20java.nio.file.CopyOption .. .% 29) – RealSkeptic

ответ

1

Посмотрите на ImageIO класса.

BufferedImage bufferedImage = ImageIO.read(fileContent); //fileContent is your InputStream 
ImageIO.write(bufferedImage, "jpg", new File("savedFile.jpg"); 

https://docs.oracle.com/javase/tutorial/2d/images/saveimage.html

+0

Но у меня есть изображение в InputStream, а не в ImageI nputStream, поэтому я не могу использовать ImageOutputStream – VijayManohar7

+1

'BufferedImage bufferedImage = ImageIO.read (fileContent); // fileContent - ваш InputStream ImageIO.write (bufferedImage, "jpg", новый файл ("savedFile.jpg"); ' – TK8

0

Решение может быть получено с помощью OutputStream и используя Files.copy функция

InputStream fileContent = img.getInputStream(); 
    Path img_destination=Paths.get("H://Products_image//"+fileName);//The Output file path with the file name,as without file name it wont get created. 
Files.copy(fileContent,img_destination);//InputStream to the Path in which file needs to be copied 
Смежные вопросы