加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

IE中使用ajaxSubmit上传文件弹出下载提示框

发布时间:2020-12-16 00:20:29 所属栏目:百科 来源:网络整理
导读:使用jQuery的ajaxSubmit 上传文件时,在IE中会弹出下载提示框: 页面代码: var options = { url: "%=path%/upload/upload",type: "POST",dataType:'html',success:function(json) { alert("json:"+json); },error:function(er){ alert("er:"+er); //functionCh

使用jQuery的ajaxSubmit 上传文件时,在IE中会弹出下载提示框:

页面代码:

var options = {
			   url: "<%=path%>/upload/upload",type: "POST",dataType:'html',success:function(json) {
				   alert("json:"+json);
 },error:function(er){
				   alert("er:"+er);
				   //functionChange(er.responseText);
			   }
	};
		$('#picForm').ajaxSubmit(options);

后台代码:

/***
	 * {"fileName":"20141002125209_571slide4.jpg","path":"D:softwareeclipseworkspace2demo_channel_terminaluploadimage20141002125209_571slide4.jpg"}
	 * @param file
	 * @param request
	 * @param response
	 * @return
	 * @throws IOException
	 */
	@ResponseBody
	@RequestMapping(value = "/upload")
	public ModelAndView upload(
			@RequestParam(value = "image223",required = false) MultipartFile file,HttpServletRequest request,HttpServletResponse response)
			throws IOException {
		Map map = new HashMap();
		if (ValueWidget.isNullOrEmpty(file)) {
			map.put("error","not specify file!!!");
		} else {
			System.out.println("request:" + request);// org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest@7063d827
			System.out.println("request:" + request.getClass().getSuperclass());
			// String formFileTagName=null;//"file2"
			// for( ;multi.hasMoreElements();){
			// String element=multi.nextElement();
			// formFileTagName=element;//表单中标签的名称:file标签的名称
			// // System.out.println("a:"+element+":$$");
			// break;
			// }
			String fileName = file.getOriginalFilename();// 上传的文件名
			fileName=fileName.replaceAll("[s]","");//IE中识别不了有空格的json
			// 保存到哪儿
			String finalFileName = TimeHWUtil.formatDateByPattern(TimeHWUtil
					.getCurrentTimestamp(),"yyyyMMddHHmmss")+ "_"
							+ new Random().nextInt(1000) + fileName;
			File savedFile = getUploadedFilePath(request,Constant2.UPLOAD_FOLDER_NAME + "/image",finalFileName,Constant2.SRC_MAIN_WEBAPP);// "D:softwareeclipseworkspace2demo_channel_terminal uploadpicys4-1.jpg"
			System.out.println("[upload]savedFile:"
					+ savedFile.getAbsolutePath());
			// 保存
			try {
				file.transferTo(savedFile);
			} catch (Exception e) {
				e.printStackTrace();
			}
			
			map.put("fileName",fileName);
			map.put("path",savedFile.getAbsolutePath());
			System.out.println("map:"+map);
		}
		ModelAndView modelAndView = new ModelAndView(
				new MappingJacksonJsonView(),map);
/*
 * {"fileName":"20141002125209_571slide4.jpg","path":"D:softwareeclipseworkspace2demo_channel_terminaluploadimage20141002125209_571slide4.jpg"}
 * */
		return modelAndView;

	}

解决方法:让action返回String,而不是ModelAndView.

修改后的action:

/***
	 * {"fileName":"20141002125209_571slide4.jpg","path":"D:softwareeclipseworkspace2demo_channel_terminaluploadimage20141002125209_571slide4.jpg"}
	 * @param file
	 * @param request
	 * @param response
	 * @return
	 * @throws IOException
	 */
	@ResponseBody
	@RequestMapping(value = "/upload")
	public String upload(
			@RequestParam(value = "image223",HttpServletResponse response)
			throws IOException {
		String content = null;
		Map map = new HashMap();
		if (ValueWidget.isNullOrEmpty(file)) {
			map.put("error","not specify file!!!");
		} else {
			System.out.println("request:" + request);// org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest@7063d827
			System.out.println("request:" + request.getClass().getSuperclass());
			
			
			String fileName = file.getOriginalFilename();// 上传的文件名
			fileName=fileName.replaceAll("[s]",Constant2.SRC_MAIN_WEBAPP);// "D:softwareeclipseworkspace2demo_channel_terminal uploadpicys4-1.jpg"
			System.out.println("[upload]savedFile:"
					+ savedFile.getAbsolutePath());
			// 保存
			try {
				file.transferTo(savedFile);
			} catch (Exception e) {
				e.printStackTrace();
			}
		
			ObjectMapper mapper = new ObjectMapper();
			
			

			map.put("fileName","a");
			map.put("path",savedFile.getAbsolutePath());
			try {
				content = mapper.writeValueAsString(map);
				System.out.println(content);
			} catch (JsonGenerationException e) {
				e.printStackTrace();
			} catch (JsonMappingException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
			System.out.println("map:"+map);
		}
//		ModelAndView modelAndView = new ModelAndView(
//				new MappingJacksonJsonView(),"path":"D:softwareeclipseworkspace2demo_channel_terminaluploadimage20141002125209_571slide4.jpg"}
 * */
		return content;

	}

项目使用spring MVC框架

参考:http://www.kankanews.com/ICkengine/archives/42240.shtml

http://www.yunmasoft.com/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读