파일을 업로드하는 형태를 포함하는 형태 (사용 formdata)

HTML (사용 bootstrap3 스타일)

1                              < 클래스 = "폼 수평" 역할 = "형태" ID = "siteForm" > 
2                                  < DIV 클래스 = "폼 기" > 
3                                      < 라벨 = "siteTitle 「클래스 ="COL-SM-2 제어 - 라벨 " >景点名称</ 라벨 > 
4                                      < DIV 클래스 ="COL-SM-5 " > 
5                                          < 입력 유형 ="텍스트 " 클래스 ="폼 제어 " ID ="siteTitle " 이름 ="siteTitle " >
6                                      </ DIV > 
7                                  </ DIV > 
8                                  < DIV 클래스 = "폼 기" > 
9                                      < 라벨 = "siteProvince 「클래스 ="COL-SM-2 제어 라벨 " >景点所在省份</ 라벨 > 
10                                      < DIV 클래스 = "COL-SM-5" > 
11                                          < 선택 클래스 = "폼 제어" ID = "siteProvince ' 이름 ="성 " 의 onchange ="doProvAndCityRelation (이) " > 
12                                              <옵션 = '-. (1') > 주를 선택 </ 옵션 > 
13 인                                          </ SELECT > 
14                                      </ DIV > 
15                                  </ DIV > 
16                                  < DIV 클래스 = "폼 그룹" > 
. 17                                      < 라벨 = "siteCity" 클래스 = "COL-SM-2 제어 라벨" > 명소 </ 라벨 > 
18                                      < DIV 클래스 = "COL-SM-5" > 
19                                          <선택 클래스 = "폼 컨트롤"ID = "siteCity" 이름 = "도시" > 
20                                              < 옵션 = '- 1' >选择城市请</ 옵션 > 
21                                          </ 선택 > 
(22)                                      </ DIV > 
23                                  </ DIV > 
24                                  < DIV 클래스 = "양식 - 기 " > 
25                                      < 라벨 picturePath"= " 클래스 ="COL-SM-2 제어 라벨 " >景点图片</ 라벨 > 
26                                      <DIV의 클래스 = "COL-SM-5"> 
27                                          < 입력 타입 = "파일" 클래스 = "폼 제어" ID = "picturePath ' 이름 ="파일 " > 
28                                      </ DIV > 
29                                  </ DIV > 
30                                  < DIV 클래스 ="폼 기 " > 
31                                      < 라벨 = "siteDescription 「클래스 ="COL-SM-2 제어 라벨 " >景点描述</ 라벨 > 
32                                      < DIV 클래스 ="COL-SM-5 "> 
33                                          < 텍스트 영역= "3" 클래스 = "폼 제어" ID = "siteDescription ' 이름 ="설명 " > </ 텍스트 영역 > 
34                                      </ DIV > 
35                                  </ DIV > 
36                                  < 입력 타입 ="숨겨진 " 클래스 ="형상 - 제어 ' 이름 = "전국" = "CN" > 
37                              </ 형태 >

JS

$ ( "#의 siteSubmit")를 클릭합니다. ( 함수 () { 
   송출 siteTitle = .trim $ ($ ( "#의 siteTitle" ) .val ());
    IF (siteTitle === "" ) { 
       bootbox.alert ( "풍경 제목은 "비어있을 수 없습니다 );
        반환 ; 
   } 
   송출 siteProvince = .trim $ ($ ("#의 siteProvince " ) .val ())
     IF "-1 (siteProvince === " ) { 
        (bootbox.alert "풍경 선택하세요 지방에 속하는 " );
         반환 ; 
    } 
    송출 siteCity = .trim $ ($ ("#의 siteCity " ) .val ());
     IF (siteCity ==="-1 ") { 
        bootbox.alert ("당신의 명소를 선택하세요" )
         반환 ; 
    } 
   송출의 URL = basePath + "/ 사이트 / add.action" ; 
   하여 데이터하자 = 새로운 새로운 FormData (document.getElementById를 ( "siteForm을" )); 
   data.append ( "파일", $ ( '#picturePath') (0) .files [GET 0 ])
    에 IF . (data.get ( "파일") === 이름 "을" ) {// 파일 파일을 확인하는 것은 존재 
       (bootbox.alert를 " 매력 이미지를 선택 " );
        반환 ; 
   } 
    $ 아약스 ({ 
        URL : URL, 
        유형의 : "POST " , 
        데이터 : 데이터, 
        dataType와 :"JSON" ,
        contentType이 : 거짓 , 
        processData : 거짓 , 
        성공 : 함수 (결과) {
             경우 (result.success의 === 200 ) { 
                bootbox.alert ( "上传成功" ); 
                $ ( "#siteForm") [0 ] .reset (); 
            } 
            closeLoading (); 
        } 
        오류 : 함수 () { 
            closeLoading (); 
        } 
    }); 
});

자바 (springmvc)

@RestController 
@RequestMapping ( "/ 사이트" )
 공개  수업 SiteController { 

    @Autowired 
    개인 SiteMapper siteMapper; 

    @RequestMapping (값 = "/ 추가", 방법은 = RequestMethod.POST)
     공개 된 JSONObject는 (HttpSession에 세션을 추가 
                          @RequestParam (값 = "파일" )의 MultipartFile 파일, 
                          사이트 사이트) { 
      //你的业务逻辑
    } 
}

 

추천

출처www.cnblogs.com/knightdreams6/p/10939404.html