文件上传有很多方式,每个框架都有自己的一套机制,spring的文件上传代码如下:
/**
* 将license文件上传到服务器端
* 将客户端(IE)中选择的license文件上载到服务器端的临时目录中,
* 返回上载后的文件对象
* @param request HttpServletRequest
* @param filename IE中的file组件的名称
* @return java.io.File
* @throws Exception
*/
public File CreateLicenseFile(HttpServletRequest request,String filename) throws Exception{
File uploadedFile = null;
if (request instanceof MultipartHttpServletRequest) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile multipartFile = multipartRequest.getFile(filename);
String uploadDir = BeanContextAccessor.getCommonParameterManager().getCommonParameter(
ConstantsBpm2FileManager.FILE_UPLOAD_PATH,
ConstantsBpm2License.SYSTEM_PARAMETER).getValue();;
File dirPath = new File(uploadDir);
if (!dirPath.exists()) {
dirPath.mkdirs();
}
if (!multipartFile.getOriginalFilename().equals("")) {
String sep = System.getProperty("file.separator");
uploadedFile = new File(uploadDir +
sep+
multipartFile.getOriginalFilename());
multipartFile.transferTo(uploadedFile);
}
}
return uploadedFile;
}
* 将license文件上传到服务器端
* 将客户端(IE)中选择的license文件上载到服务器端的临时目录中,
* 返回上载后的文件对象
* @param request HttpServletRequest
* @param filename IE中的file组件的名称
* @return java.io.File
* @throws Exception
*/
public File CreateLicenseFile(HttpServletRequest request,String filename) throws Exception{
File uploadedFile = null;
if (request instanceof MultipartHttpServletRequest) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile multipartFile = multipartRequest.getFile(filename);
String uploadDir = BeanContextAccessor.getCommonParameterManager().getCommonParameter(
ConstantsBpm2FileManager.FILE_UPLOAD_PATH,
ConstantsBpm2License.SYSTEM_PARAMETER).getValue();;
File dirPath = new File(uploadDir);
if (!dirPath.exists()) {
dirPath.mkdirs();
}
if (!multipartFile.getOriginalFilename().equals("")) {
String sep = System.getProperty("file.separator");
uploadedFile = new File(uploadDir +
sep+
multipartFile.getOriginalFilename());
multipartFile.transferTo(uploadedFile);
}
}
return uploadedFile;
}
其中:filename是前台的类型为file的input的name.