这是 一个上传文件到指定目录的功能。对于页面长相上没什么好说的,很丑的啦,但是这个上传的功能我想为大家分享下,用的是uploadfile 和springmvc。
">
">
选择上传文件:
$(document).ready(function() {
$("#URL_1").on("change", function() {
// var userid=$("#user_id",window.parent.document).val();
var filePath = $("#URL_1").val();
// filepathVAL(filePath);
ajaxupload('URL_1');
});
});
function filepathVAL(filePath) {
if (filePath == null || filePath == "") {
alert("您未选择要上传的文件!");
return false;
}
var index = filePath.lastIndexOf(".");
var fileExt = filePath.substring(index + 1);
var picture = [ "png", "gif", "bmp", "jpg", "jpeg" ];
for ( var i in picture) {
if (fileExt.toLowerCase() != picture[i]) {
if (i != picture.length - 1) {
continue;
}
alert("您上传的不是图片请重新选择!");
return false;
} else {
break;
}
}
}
function ajaxupload(fileElementId) {
$.ajaxFileUpload({
url : ' ?fileElementId='
+ fileElementId + '&code=${code}',
secureuri : false,
fileElementId : fileElementId, // 文件选择框的id属性
dataType : 'json', // 服务器返回的格式类型
type : 'post',
success : function(data, status) // 成功
{
if (data.flag == "success") {
alert("上传成功");
$.fn.ulynlist.refresh($("#ulyn-table-id"));
} else {
layer.alert("上传失败");
}
},
error : function(data, status, e) // 异常
{
layer.alert(data.flag + " " + status);
layer.alert("出错了,请重新上传!");
}
});
}
@RequestMapping(value = "/upload.do", method = RequestMethod.POST)
public void uploadQuestionPic(String fileElementId,HttpServletRequest request,
HttpServletResponse response) throws Exception {
ManageService manageService = (ManageService)ServiceLocator.getBeanByClass(ManageService.class);
String code = request.getParameter("code");
JSONObject resultObj = new JSONObject();
try {
String saveDir = manageService.queryIMG(code);
if (!StringUtils.isBlank(saveDir)) {
resultObj = uploadFiles(fileElementId, saveDir, request);
String savaFileName = resultObj.getString("newFileName");
manageService.saveFileLogs(code,savaFileName);//保存文件日志
}else {
resultObj.put("flag", "上传出错啦,没有查询到文件保存路径");
}
// String saveDir = "D:\\test";
// resultObj = uploadFiles(fileElementId, saveDir, request);
//{"flag":"success","newFileName":"1449054407024---王力宏002.jpg"}
//写日志 TODO something....
} catch (Exception e) {
} finally{
response.setContentType("text/html");
response.getWriter().write(resultObj.toJSONString());
}
}
/**
* 文件保存
* @param fileElementId 文件选择框的id属性
* @param saveDir 文件保存的绝对路径
* @param request
* @return JSONObject
*/
private JSONObject uploadFiles(String fileElementId, String saveDir,HttpServletRequest request){
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
JSONObject resultObj = new JSONObject();
/**得到图片保存目录的真实路径**/
String logoRealPathDir = saveDir;// String saveDir = "D:\\test";
/**根据真实路径创建目录**/
File logoSaveFile = new File(logoRealPathDir);
if(!logoSaveFile.exists()){
logoSaveFile.mkdirs();
}
/**页面控件的文件流**/
MultipartFile multipartFile = multipartRequest.getFile(fileElementId);
/**获取文件的后缀**/
String filenameString = multipartFile.getOriginalFilename();
System.out.println(filenameString);
String suffix = multipartFile.getOriginalFilename().substring
(multipartFile.getOriginalFilename().lastIndexOf("."));
/**拼成完整的文件保存路径加文件**/
String name = + System.currentTimeMillis()+"---"+filenameString;//suffix;
String fileName = logoRealPathDir + File.separator+name;
File file = new File(fileName);
String data = file.getPath();
try {
multipartFile.transferTo(file);
resultObj.put("flag", "success");
resultObj.put("newFileName", name);
} catch (IllegalStateException e) {
e.printStackTrace();
resultObj.put("flag", "上传出错啦,文件路径不对");
} catch (IOException e) {
e.printStackTrace();
resultObj.put("flag", "上传出错啦,文件路径不对");
}
return resultObj;
}
==============================================================================================================================
==============================================================================================================================
==============================================================================================================================