Arkadaşlar merhabalar bu dersimizde servlette dosya yüklemeyi göreceğiz.
Servlette file/Image yüklemek için öncelikle jar dosyalarımızı indirmemiz gerekiyor.Maven repositoryiden.
https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload/1.4
https://mvnrepository.com/artifact/commons-io/commons-io/2.2
jar dosyalarını indirdikten sonra WebContent -> WEB-INF -> lib altına atıp her bir jar dosyasına sağ tıklayıp build path -> add build path diyoruz.
Ve geçiyoruz dosya yüklemeye ...
ImageUpload.java adlı bir servlet file oluşturdum içeriği şöyle
package com.kerem;import java.io.File;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;@WebServlet("/ImageUpload")public class ImageUpload extends HttpServlet {private static final long serialVersionUID = 1L;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());try {List<FileItem> images = upload.parseRequest(request);for(FileItem image : images) {System.out.println(image.getName());try {image.write(new File("/root/eclipse-workspace/Servlet/WebContent/images/"+image.getName()));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}} catch (FileUploadException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
WebContent altına oluşturduğum index.jsp file şöyle ;
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><form action="ImageUpload" method="post" enctype="multipart/form-data">select images <input type="file" name="files" multiple /><input type="submit" value="upload" /></form></body></html>
Ve arkadaşlar WebContent altına images adlı bir klasör oluşturdum 3 adet de foto seçtim ctrl'ye basılı tutarak yukarıda index.jsp de gördülüğü gibi enctype ile çok bölümlü bir form olacak yani images filan yüklenebilecek , multiple ile de birden fazla dosya seçebileceğimi söylüyorum.
Arkadaşlar dosyaları upload butonuna bastıktan sonra images klasörüne sağ tıklayıp refresh dedikten sonra images files geldi.
Bir sonraki dersimizde görüşürüz :)