<input type="file" id="file" name="file"><br/>
<input type="hidden" id="flag" name="flag" value="ajax文件上传"/>
<input type="button" id="btnUpload" value="上传图片" /><script type="text/javascript">
$(function(){
//上传图片
$("#btnUpload").click(function() {
ajaxFileUpload();
});
});
function ajaxFileUpload() {
$.ajaxFileUpload({
url: 'upload/uploadFile',
type: 'post',
secureuri: false, //一般设置为false
fileElementId: 'file', // 上传文件的id、name属性名
dataType: 'text', //返回值类型,一般设置为json、application/json
data : {"flag":$("#flag").val()}, // 其它请求参数 //传递参数到服务器
success: function(data, status){
alert(data);
},
error: function(data, status, e){
alert(e);
}
});
//return false;
}
</script>//controller
@ResponseBody
@RequestMapping(value="saveCredential")
public String saveCredential(HttpServletRequest request,Credential credential,MultipartFile credentialFile){
return resumeService.saveCredential(request,credential,credentialFile);
}
//service
if(!credentialFile.isEmpty()){
CommonsMultipartFile cf= (CommonsMultipartFile)credentialFile;//springmvc转换io File操作
DiskFileItem fi = (DiskFileItem)cf.getFileItem();
File iOFile = fi.getStoreLocation();
String fileName=credentialFile.getOriginalFilename();//上传文件名称
long fileSize=credentialFile.getSize();//得到文件大小byte
String fileType = fileName.substring(fileName.lastIndexOf("."));//上传文件后缀
String root=System.getProperty("webapp.root");//得到webapp根路径
Calendar cal=Calendar.getInstance();
int year=cal.get(Calendar.YEAR);//得到年
int month=cal.get(Calendar.MONTH)+1;//得到月,因为从0开始的,所以要加1
int day=cal.get(Calendar.DAY_OF_MONTH);//得到天
//文件存储路径
String savePath=root+SystemConfig.getProperty("uploadPath")+File.separator+"attachmentResume"+ File.separator+year+File.separator+month+File.separator+day;
File floder = new File(savePath);//查找文件存储文件夹
if (!floder.exists()) {//判断文件存储的文件夹是否存在
floder.mkdirs();
}
String newName=UUIDUtil.generateUUID()+fileType;
String dstPath = savePath+"/"+newName;
File dstFile = new File(dstPath);
try {
FileUtil.copy(iOFile,dstFile);
FileUtils.deleteQuietly(iOFile);
} catch (Exception e) {
e.printStackTrace();
}
}
[/codesyntax]
转载于:https://my.oschina.net/surenpi/blog/816640