자바 네 이 티 브 서버 에서 업로드 파일 을 받 을 때 MultipartFile 클래스 를 사용 하지 않 습 니 다.
그래서 업로드 파일 을 받 는 다른 방법 을 사용 합 니 다.
일단 제 가... MultipartFile 류 의 프로필 설명 이 떨 어 집 니 다.
<!-- <bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8" />
<property name="maxUploadSize" value="10485760" />
10M, ,MultipartFile , request !
</bean> -->
그리고 기 존의 파일 수신 방법 을 코드 로 바 꾸 고,주석 이 상세 하면 쓸데없는 말 이 많 지 않다.
/**
* request
* @warn
* , item.delete();
* @param request http
* @param encoding , null utf-8
* @return FileItem
*/
public List<FileItem> getUploadInputSteam(HttpServletRequest request,String encoding){
if (encoding==null || "".equals(encoding)) {
encoding = "UTF-8";
}
List<FileItem> items = new ArrayList<FileItem>();
//
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding(encoding);
if (!ServletFileUpload.isMultipartContent(request)) {
return items;
}
try {
// ServletFileUpload , List<FileItem>
// FileItem Form
List<FileItem> list = upload.parseRequest(request);
for (FileItem item : list) {
// fileitem
if (item.isFormField()) {
// String name = item.getFieldName();
// //
// String value = item.getString(encoding);
// System.out.println(name +"="+value);
}else{
String fileName = item.getName();
if (fileName==null||fileName.trim().equals("")) {
continue;
}
// : , ,
// : c:\a\b\1.txt, , :1.txt
// ,
// fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
items.add(item);
}
}
} catch (Exception e) {
e.printStackTrace();
return items;
}
return items;
}
@RequestMapping("/testUpload")
@ResponseBody
public String testUpload(HttpServletRequest request) throws Exception{
//
List<FileItem> items = getUploadInputSteam(request, "utf-8");
//
FileItem item = items.get(0);
//
String fileName = item.getName();
fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
// , ,
InputStream in = item.getInputStream();
//
in.close();
// ,item
item.delete();
return "success!";
}
주의:1.파일 을 처리 하 는 클래스 는 모두 org.apache.comons 의 이 가방
2.전단 에서 폼 을 작성 해 야 하 는"action 의 url,enctype="multipart/form-data",post 요청 이 들 어 왔 습 니 다.
3.input 버튼 은 type="file"name="xxx"를 가리 키 고 또 있 습 니 다. 제출 버튼 (ajax 비동기 로 제출 해도 됩 니 다)
예 를 들 면:
<form action="test/testUpload" method="post"
enctype="multipart/form-data">
<input type="file" name="myFile" value=" ">
<input type="submit" value=" " />
</form>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.