Como fazer upload de imagens, mas sem salvar no banco de dados, salvando elas numa pasta.
Como faço isso??
Como fazer upload de imagens, mas sem salvar no banco de dados, salvando elas numa pasta.
Como faço isso??
Procura por commons upload
Cara fiz um exemplo simples usando o commons-fileupload sugerido pelo colega, é necessário para fazer o parser da requisição! É bem simples, porém é para fins didáditos!
Segue
import javax.servlet.http.*;
import java.util.List;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import java.io.*;
import java.nio.channels.FileChannel;
public class FileUploadServlet extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException{
try {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(req);
FileItem fileItem = (FileItem) items.get(0);
byte[] content = fileItem.get();
String fileName = fileItem.getName();
File file = new File("c:/temp/"+fileName);
FileOutputStream fos = new FileOutputStream(file);
fos.write(content);
fos.flush();
fos.close();
System.out.println(items.size());
} catch (FileUploadException ex) {
ex.printStackTrace();
}
}
}
<html>
<body>
<form method="post" action="FileUpload" enctype="multipart/form-data">
<input type="file" name="arquivo" />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>FileUpload</servlet-name>
<servlet-class>FileUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileUpload</servlet-name>
<url-pattern>/FileUpload</url-pattern>
</servlet-mapping>
</web-app>
E pronto :d
Qualquer dúvida é só postar!