boolean isMultipart = ServletFileUpload.isMultipartContent(request); 服務器
if (!isMultipart) { spa
goto..... orm
return; ip
} utf-8
// Create a new file upload handler get
ServletFileUpload upload = new ServletFileUpload(); input
// Parse the request string
FileItemIterator iter = upload.getItemIterator(request); it
while (iter.hasNext()) { stream
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
System.out.println("Form field " + name + " with value "
+ Streams.asString(stream) + " detected.");
} else {
System.out.println("File field " + name + " with file name "
+ item.getName() + " detected.");
// Process the input stream
...
}
}
具體上傳服務器例子:
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (!isMultipart) {
//goto
return;
}
DiskFileItemFactory dff = new DiskFileItemFactory();
try {
ServletFileUpload sfu = new ServletFileUpload(dff);
sfu.setSizeMax(10000*1024);
sfu.setHeaderEncoding("utf-8");
FileItemIterator fii = sfu.getItemIterator(request);
while (iterator.hasNext()) {
fileStream = iterator.next();
if (!fileStream.isFormField())
break;
fileStream = null;
}
if (fileStream == null) {
return new BaseState(false, 7);
}
String savePath ="保存服務器路徑";
String originFileName = fileStream.getName();
String suffix = FileType.getSuffixByFilename(originFileName);
originFileName = originFileName.substring(0,
originFileName.length() - suffix.length());
savePath = savePath + suffix;
long maxSize = ((Long) conf.get("maxSize")).longValue();
if (!validType(suffix, (String[]) conf.get("allowFiles"))) {
return new BaseState(false, 8);
}
savePath = PathFormat.parse(savePath, originFileName);
String physicalPath = "路徑" + savePath;
InputStream is = fileStream.openStream();
FileOutputStream out = new FileOutputStream(new File(physicalPath);
BufferedOutputStream output = new BufferedOutputStream(out);
Streams.copy(in, output, true);