Giriş
Şu satırı dahil ederiz
import javax.servlet.annotation.MultipartConfig;
Açıklaması şöyle
The simplest approach a developer can take to handle a file upload is to use the Servlet 3.0 Part class, which can process a multipart form element and allow a file to be incrementally saved until it completes the file upload.
Açıklaması şöyle. Bu anotasyon yerine web.xml'de tanımlama yapılabilir.
Use HttpServletRequest.getPart() API in code. You configure it via either the @MultipartConfig annotation and/or the <multipart-config> descriptor element in your WEB-INF/web.xml
Örnek
Şöyle yaparız
@WebServlet(name = "FileUploadServlet", urlPatterns = { "/fileuploadservlet" })@MultipartConfig(fileSizeThreshold = 1024 * 1024 * 1, // 1 MBmaxFileSize = 1024 * 1024 * 10, // 10 MBmaxRequestSize = 1024 * 1024 * 100 // 100 MB)//Simple Java File Upload Examplepublic class FileUploadServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {Part filePart = request.getPart("file");String fileName = filePart.getSubmittedFileName();for (Part part : request.getParts()) {part.write("C:\\upload\\" + fileName);}response.getWriter().print("Sucessfully Java file upload.");}}
Burada getPart("file") çağrısı ile HttpServletRequest isteğindeki şu alana erişiliyor. Buradan dosya ismi alınıyor
Content-Disposition: form-data; name="file"; filename="..."
fileSizeThreshold Alanı
Dosya belirtilen büyüklüğü geçerse diske yazılır.
Örnek
Şöyle yaparız.
Dosya belirtilen büyüklüğü geçerse diske yazılır.
Örnek
Şöyle yaparız.
@WebServlet(name = "MyServlet", urlPatterns = {"/add"})
@MultipartConfig(fileSizeThreshold = 1024 * 1024 * 2, // 2MB
maxFileSize = 1024 * 1024 * 10, // 10MB
maxRequestSize = 1024 * 1024 * 50)
public class MyServlet extends HttpServlet {
...
}
Hiç yorum yok:
Yorum Gönder