ssm 프레임 워 크 Springmvc 파일 업로드 구현 코드 상세 설명
1)프론트 파일 업로드 폼 을 작성 합 니 다.Method 는 post 이 어야 합 니 다.enctype 은 mutipat/form-data 입 니 다.
<body>
<%--
1)method post
2)enctype multipart/form-data
--%>
<h1> </h1>
<form action="${pageContext.request.contextPath}/admin/headpic" method="post" enctype="multipart/form-data">
:<input type="file" name="headpic"/>
<%-- ${param. }==request.getParameter( )--%>
<input type="text" name="id" value="${param.id}">
<input type="submit" value=" "/>
</form>
</body>
2)제어 층 코드 를 작성 하여 업로드 한 파일 데 이 터 를 가 져 오고 MultipartFile 을 저장 합 니 다.
//MultipartFile: , input name
//@SessionAttribute("admin"): session
//@RequestParam(required = false): ,
@RequestMapping("/headpic")
public String headPic(MultipartFile headpic,@RequestParam(required = false) Admin admin,Integer id) throws IOException {
String filename = headpic.getOriginalFilename();
System.out.println(" :"+filename);
File file=new File("E:/headpic/"+filename);
if (!file.getParentFile().exists()){
file.getParentFile().mkdirs();// ,
}
// , file
headpic.transferTo(file);
admin=new Admin(id);
//
admin.setHeadpic("/head/"+filename);
//
adminService.updateHeadPic(admin);
return "redirect:list";
}
3)springmvc 프로필 에 파일 업로드 설정 항목 을 설정 합 니 다.multipartResolver 설정 하기;
<!-- -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- -->
<property name="defaultEncoding" value="UTF-8"/>
<!-- -->
<property name="maxUploadSize" value="10240000" />
</bean>
<!-- ,
mapping: ; location:
:/head/logo.png==>E:/headpic/logo.png
-->
<mvc:resources mapping="/head/**" location="file:E:/headpic/"></mvc:resources>
<!-- /headimg/logo.png==>/WEB-INF/img/logo.png-->
<mvc:resources mapping="/headimg/**" location="/WEB-INF/img/"></mvc:resources>
2.다운로드:1)파일 을 다운로드 하 는 경 로 를 가 져 옵 니 다.
2)바이트 배열 로 파일 내용 읽 기;
3)바이트 배열 을 되 돌려 주 고 반환 형식 을 stream 이 라 고 설명 하 며 첨부 파일 이름 을 설정 합 니 다.
@GetMapping("/headPicDownload")
public ResponseEntity<byte[]> headPicDownload(String filename) throws IOException {
//1、
File file=new File("E:/headpic/"+filename);
//2、
byte[] bytes= FileUtils.readFileToByteArray(file);
//3、 http
HttpHeaders headers = new HttpHeaders();
// ContentType stream
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
//4、
headers.setContentDispositionFormData("attachment",filename);
// http
return new ResponseEntity<byte[]>(bytes,headers, HttpStatus.CREATED);
}
<td>
<img style="width: 25px;height: 25px;border-radius: 50%;"
src="${pageContext.request.contextPath}${admin.headpic}"/>
<a href="${pageContext.request.contextPath}/admin/headPicDownload?filename=${fn:replace(admin.headpic," rel="external nofollow" /head/","" )}"> </a>
</td>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Systems Manager를 통해 부팅 환경의 Ubuntu 관리AWS Systems Manager(향후 SSM)에서는 EC2 인스턴스뿐만 아니라 시사회 서버에 SSM 에이전트를 관리 대상으로 설치할 수 있기 때문에 관리 대상으로 시도해 봤다. 총체적으로 다음과 같은 공식 문서를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.