jsp代码:
<form action="${ctx }/zyyp/zyyp-upload!upLoading.do?type=${fn:substring(corf.file_type, 0, 3)}"
id="form${corf.conf_id }" method="post"
enctype="multipart/form-data">
<input id="fileName${corf.conf_id }" name="fileName"
type="hidden" />
<input name="confId" type="hidden" value="${corf.conf_id }" />
<input id="drugId${corf.conf_id }" name="drugId" type="hidden" value="" />
<input name="fileFormat" type="hidden"
value="${corf.file_Format }" />
<span id="uploadSpan${varStatus.index+1}"><input
id="gmpfile_${corf.conf_id }" type="file" name="file_upload"
onchange="pdfCheck(this.form,this.form.file_upload.value,'${corf.file_type }','${corf.conf_id }') ;" />
</span>
<input type="submit" value="开始上传" />
</form>
js代码
extArray = new Array(".jpg", ".jpeg", ".bmp", ".png");
function pdfCheck(form, file, fileType, confId) {//fileType规定上传文件类型,confId 第三方参数值
allowSubmit = false;
if (fileType == 'jpgType') {
extArray = new Array(".jpg");
}
if (fileType == 'pdfType') {
extArray = new Array(".pdf");
}
if (!file)
return;
while (file.indexOf("\\") != -1)
file = file.slice(file.indexOf("\\") + 1);
ext = file.slice(file.indexOf(".")).toLowerCase();
for ( var i = 0; i < extArray.length; i++) {
if (extArray[i] == ext) {
allowSubmit = true;
break;
}
}
//判断文件大小
if (allowSubmit) {
} else {
$("#gmpfile_" + confId).val("");
alert("只能上传: " + (extArray.join(" ")) + "\n请重新选择文件" + "再上传。");
}
}
java代码
public File file_upload; //上传文件
if (file_upload != null) {
if (FileOperate.getFileBytes(file_upload) <= 5120000) {
String filePath = getRequest().getSession().getServletContext().getRealPath("/") +"/zyypFileUpload";
String fileNamePre = TimeHelper.getCurrentTimeToString1();//生成随机数
if(StringUtils.isNoneBlank(fileName)&&fileName.length()>4){
String fileNameUrl = fileName.substring(0,fileName.length()-4)+"_"+fileNamePre+"."+type; //文件名加随机数
savefile = new File(new File(filePath), fileNameUrl);
if (!savefile.getParentFile().exists()) {
savefile.getParentFile().mkdirs();
}
//判断文件大小
if(savefile.length()<fileSizeMax){
FileUtils.copyFile(file_upload, savefile);
ZyypFileUpload fileUpload = new ZyypFileUpload();
fileUpload.setFileName(fileNameUrl);
fileUpload.setFileSize(savefile.length()+"");
fileUpload.setAddress("/zyypFileUpload/"+fileNameUrl);
fileUpload.setUserId(sysUserSession.getUserId());
fileUpload.setConfId(confId);
fileUpload.setUploadType(fileFormat);
fileUpload.setDrugId(drugId);
fileUpload.setUploadTime(TimeHelper.convertTimeToString(new Date()));
zyypFileUploadService.save(fileUpload);
uploadCode = "1"; //上传成功
}else{
uploadCode = "4"; //上传文件不能大于2M
}
}
}
}else{
uploadCode = "3"; //请选择文件
}