کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش File Upload Example-Java Spring

مثال file upload

مثالMVC File Upload در اسپرینگ

MVC اسپرینگ راه حلی ساده برای بارگذاری فایل ها تصویر و سایر فایل ها ارائه می دهد. مثالی ساده از بارگذاری فایل با استفاده از MVC اسپرینگ را با هم می بینیم.


فایل های jar مورد نیاز

برای اجرای این مثال نیاز به بارگذاری فایل های زیر دارید:

  • فایل های jar هسته اسپرینگ
  • فایل های jar وب اسپرینگ
  • فایل های commons-fileupload.jar و commons-io.jar.

1-تمامی فایل های jar اسپرینگ از جمله هسته(core)، وب(web)، aop،mvc، j2ee، remoting،oxm، jdbc،orm و غیره را دانلود کنید.

2- commons-io.jarرا دانلود کنید.

3-commons-fileupload.jar را دانلود کنید.


مراحل بارگذاری فایل در MVC اسپرینگ (علاوه بر MVC)

1-فایل های commons-io و fileupload.jar را اضافه کنید.

2-ورودی CommonsMultipartResolver را در فایل spring-servlet.xml اضافه کنید.

< bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver" / >

3-برای ارسال فایل یک فرم ایجاد کنید. نام متد باید "post" و متن "multiple/form-data" باشد.

< form action="savefile" method="post" enctype="multipart/form-data">  
Select File: < input type="file" name="file" />

< input type="submit" value="Upload File" />

< /form>  

4- از کلاس CommonsMultipartFile در کنترلر استفاده کنید.

@RequestMapping(value="/savefile",method=RequestMethod.POST)  
public ModelAndView upload(@RequestParam CommonsMultipartFile file,HttpSession session){  
        String path=session.getServletContext().getRealPath("/");  
        String filename=file.getOriginalFilename();  
          
        System.out.println(path+" "+filename);  
        try{  
        byte barr[]=file.getBytes();  
          
        BufferedOutputStream bout=new BufferedOutputStream(  
                 new FileOutputStream(path+"/"+filename));  
        bout.write(barr);  
        bout.flush();  
        bout.close();  
          
        }catch(Exception e){System.out.println(e);}  
        return new ModelAndView("upload-success","filename",path+"/"+filename);  
    }  

5-تصویر را در JSP نمایش دهید.

< h1>Upload Success< /h1>  
< img src="${filename}" /> 

مثال MVC file upload در اسپرینگ

دایرکتوری تصاویر"image" را ایجاد کنید. در پروژه خود دایرکتوری "images" را ایجاد کنید زیرا کد را به گونه ای می نویسیم تا تمامی فایل ها در دایرکتوری "/images" ذخیره شوند.


index.jsp

< a href="uploadform">Upload Image  

Emp.java

package com.javatpoint;  
import java.io.BufferedOutputStream;  
import java.io.File;  
import java.io.FileOutputStream;  
import javax.servlet.ServletContext;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import javax.servlet.http.HttpSession;  
import org.apache.commons.fileupload.disk.DiskFileItemFactory;  
import org.apache.commons.fileupload.servlet.ServletFileUpload;  
import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.ModelAttribute;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RequestMethod;  
import org.springframework.web.bind.annotation.RequestParam;  
import org.springframework.web.multipart.commons.CommonsMultipartFile;  
import org.springframework.web.servlet.ModelAndView;  
  
@Controller  
public class HelloController {  
    private static final String UPLOAD_DIRECTORY ="/images";  
      
    @RequestMapping("uploadform")  
    public ModelAndView uploadForm(){  
        return new ModelAndView("uploadform");    
    }  
      
    @RequestMapping(value="savefile",method=RequestMethod.POST)  
    public ModelAndView saveimage( @RequestParam CommonsMultipartFile file,  
           HttpSession session) throws Exception{  
  
    ServletContext context = session.getServletContext();  
    String path = context.getRealPath(UPLOAD_DIRECTORY);  
    String filename = file.getOriginalFilename();  
  
    System.out.println(path+" "+filename);        
  
    byte[] bytes = file.getBytes();  
    BufferedOutputStream stream =new BufferedOutputStream(new FileOutputStream(  
         new File(path + File.separator + filename)));  
    stream.write(bytes);  
    stream.flush();  
    stream.close();  
           
    return new ModelAndView("uploadform","filesuccess","File successfully saved!");  
    }  
}  

< ?xml version="1.0" encoding="UTF-8" ?>
  
< web-app version="2.5"
            3. xmlns="http://java.sun.com/xml/ns/javaee"
            4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  < servlet>  
     < servlet-name>spring< /servlet-name>  
     < servlet-class>org.springframework.web.servlet.DispatcherServlet< /servlet-class>  
     < load-on-startup>1< /load-on-startup>  
< /servlet>  
< servlet-mapping>  
     < servlet-name>spring< /servlet-name>  
     < url-pattern>/< /url-pattern>  
< /servlet-mapping>  
< /web-app>  

spring-servlet.xml

در اینجا نیاز دارید یک bean برای CommonsMultipartResolver ایجاد کنید.

< ?xml version="1.0" encoding="UTF-8" ?>
  
< beans xmlns="http://www.springframework.org/schema/beans"
          3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         4. xmlns:p="http://www.springframework.org/schema/p"
         5. xmlns:context="http://www.springframework.org/schema/context"
         6. xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">    
  
< context:component-scan base-package="com.javatpoint">< /context:component-scan>  
   
< bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
< property name="prefix" value="/WEB-INF/jsp/">< /property>  
< property name="suffix" value=".jsp">< /property>  
< /bean>  
   
< bean id="multipartResolver"
          19. class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
  
   
< /beans>  

uploadform.jsp

در اینجا فرم باید به این صورت باشد: method="post" و enctype="multipart/form-data"

<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>  
   
< !DOCTYPE html>
  
< html>  
  < head>  
  < title>Image File Upload< /title>  
  < /head>  
  < body>  
< h1>File Upload Example - JavaTpoint< /h1>  
   
< h3 style="color:red">${filesuccess}< /h3>  
< form:form method="post" action="savefile" enctype="multipart/form-data">  
< p>< label for="image">Choose Image< /label>< /p>  
< p>< input name="file" id="fileToUpload" type="file" />  
< p>< input type="submit" value="Upload">< /p>  
< /form:form>  
< /body>  
< /html> 

خروجی :


خروجی File Upload Example1 File Upload Example2

برای دیدن فایل بارگذاری شده به مسیر چاپ شده روی کنسول سرور بروید.

دانلود مثال MVC file upload در اسپرینگ

ما این برنامه کاربردی را در MyEclipse IDE ساختیم که فایل های jar را ارائه می دهد. اگر از eclipse یا سایر IDE ها استفاده می کنید باید فایل های jar برای MVC اسپرینگ را بارگذاری کنید.


1399/01/17 1865 502
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...