<div class="fitem"> <label style="width: 80px;"><b>图片上传:</b></label> <input type="file" name="fileToUpload" id="fileToUpload" style="width:250px;margin-left: 5px;" /> <a href="javascript:void(0)" class="easyui-linkbutton c6" data-options="iconCls:‘icon-ok‘" onclick="return uploadFile()">上传</a> </div>
function uploadFile() { var f=$("#fileToUpload").val(); if(!/.(gif|jpg|jpeg|png|JPG|PNG)$/.test(f)) { alert("图片类型必须是.(gif|jpg|jpeg|png|JPG|PNG)中的一种"); return false; } var getTimestamp = new Date().getTime(); // 时间戳 $.ajaxFileUpload({ url : jum.getRootPath() + "/content/uploadPictureMgn.do?timer=" + getTimestamp, secureuri : false, dataType: ‘json‘, fileElementId : ‘fileToUpload‘, // 文件选择框的id属性 success : function(data) { if(data.success){ $("#hidPicUrl").textbox(‘setValue‘, data.fileName); $("#img").attr("src", data.picRootUrl + "/" + data.fileName); $.messager.alert("发送结果", "上传成功!", "info"); return true; }else{ $.messager.alert("发送结果", "上传失败!", "info"); return false; } }, error : function(data) { $.messager.alert("发送结果", "上传异常失败", "info"); return false; } });
@RequestMapping(value="content/uploadPictureMgn.do", method=RequestMethod.POST) public void upload(HttpServletRequest request, PrintWriter out) { Map<String, Object> resultMap = new HashMap<String, Object>(); try { // 服务绝对路径 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; //得到图片保存目录的真实路径 String logoRealPathDir = SysConfigUtil.getConfigMsg("pictureMgUrl"); //根据真实路径创建目录 File logoSaveFile = new File(logoRealPathDir); if (!logoSaveFile.exists()) logoSaveFile.mkdirs(); //页面控件的文件流 MultipartFile multipartFile = multipartRequest .getFile("fileToUpload"); // 文件类型 String fileType = multipartFile.getContentType().toLowerCase(); // 获取文件的后缀 String suffix = multipartFile.getOriginalFilename().substring( multipartFile.getOriginalFilename().lastIndexOf(".")); if (suffix.equals("")) { throw new IllegalArgumentException("文件无扩展名!"); } else if (!(fileType.equalsIgnoreCase("image/gif") || fileType.equalsIgnoreCase("image/jpg") || fileType.equalsIgnoreCase("image/jpeg") || fileType.equalsIgnoreCase("image/png"))) { throw new IllegalArgumentException("文件类型错误!"); } //拼成完整的文件保存路径加文件 String name = +System.currentTimeMillis() + suffix; String fileName = logoRealPathDir + File.separator + name; File file = new File(fileName); // String dataPath = file.getPath(); multipartFile.transferTo(file); resultMap.put("fileName", name); resultMap.put("picRootUrl", SysConfigUtil.getConfigMsg("picRootUrl")); resultMap.put("success", true); } catch (IllegalStateException e) { e.printStackTrace(); resultMap.put("success", false); } catch (IOException e) { e.printStackTrace(); resultMap.put("success", false); } catch (Exception e) { e.printStackTrace(); resultMap.put("success", false); } JSONObject jsonObject = JSONObject.fromObject(resultMap); String jsonStr = jsonObject.toString(); out.write(jsonStr); out.flush(); }
}
原文:http://www.cnblogs.com/LL282392926/p/4365042.html