ajaxfileupload+servlet 后台不知道如何写 下面是我的js代码

lianhy 2016-04-11 05:23:15
$("#savePic").click(function(){
var workId="1";
var imgList=$('input[class="imgFile"]');
var arrId=new Array();
for(var i=0;i<imgList.length;i++){
arrId[i]=imgList[i].id;
}
$.ajaxFileUpload({
url:"servlet/FileUpload?workId="+workId,
secureuri:false,
fileElementId: arrId,
dataType: 'json',
success:function(data,status){

},
error:function(data,status,e){

}






});
...全文
130 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lianhy 2016-08-19
  • 打赏
  • 举报
回复

@RequestMapping(value="/insertWorkElementFile")
	public void insertWorkElement(HttpServletRequest request,
			HttpServletResponse response,WorkElement workEle) throws IOException{	
		//System.out.println(workEle);
		// 文件上传处理(需要在配置文件中配置文件上传解析器)
		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		// 日期格式转换器
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/HH/mm/ss/SSS");
		// properties中的图片保存路径
		String workEleDir = PropertiesUtil.getProperty("filePath.properties",
						"workElementPath");
		//数据库保存相对路径
		
		// 构建随机路径
		String sdfPath = "/" + sdf.format(new Date());
		
		// 构建图片保存目录的真实目录
		String workEleRealDir = request.getSession().getServletContext()
						.getRealPath("")
						+ workEleDir + sdfPath;
		File workEleFileDir = new File(workEleRealDir);
		if (!workEleFileDir.exists()) {
			workEleFileDir.mkdirs();
		}
		
		// 页面控件的文件流
		String keyName=null;
		if((workEle.getBeforeAfter()).equals("1")){
			keyName="bfpic";
		}else{
			keyName="afpic";
		}
		MultipartFile multipartFile = multipartRequest.getFile(keyName);
		
		if (multipartFile.getSize() != 0) {
			String suffix = multipartFile.getOriginalFilename().substring(
					multipartFile.getOriginalFilename().lastIndexOf("."));
			SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddhhmmssSSS");
			String workEleFileName = sdf2.format(new Date()) + suffix;
			String workEleSessionPath=workEleDir+sdfPath+"/"+workEleFileName;
			SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			Staff staff=(Staff) request.getSession().getAttribute("staff");
			workEle.setCreateDate(sdf3.format(new Date()));
			workEle.setCreateUserName(staff.getName());
			workEle.setCreateUserId(staff.getStaffId());
			workEle.setElementDetail(workEleSessionPath);
			workEle.setElementType("1");
			weService.insertWorkElement(workEle);
			//System.out.println(workEle.getWorkElementId());
			// 拼成完整的文件保存路径加文件
			String workEleRealPath = workEleFileDir + File.separator
								+ workEleFileName;
			File file = new File(workEleRealPath);
			multipartFile.transferTo(file);
			
			Map<String, Object> mapTs=new HashMap<String, Object>();
			
			mapTs.put("workEle", workEle);
			String str = JSONObject.toJSONString(mapTs);
			response.getWriter().write(str);
			
		}else{			
			
			
		}
	}


Go 旅城通票 2016-04-11
  • 打赏
  • 举报
回复
你传递文件id没用,不会上传文件内容。。用jquery.form.js这个插件。服务器端和普通表单提交一样,怎么写就怎么写,只是不能再服务器端跳转,客户端浏览器不会跳转

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧