`
lijiejava
  • 浏览: 262393 次
  • 性别: Icon_minigender_1
  • 来自: 南通
社区版块
存档分类
最新评论

SpringMVC+jQuery(ajaxSubmit) 异步上传图片

 
阅读更多
备忘

前端引入jQuery以及jquery.form.js

<script type="text/javascript" src="js/jquery-1.8.2.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script type="text/javascript">

   function upload(){
	   var optionsThumbnail = {
               url: "http://localhost:8080/#",
               type: 'POST',
               async: false,
               dataType: 'json',
               success: function (data) { 
                  if (data.status == 1) {   
                      $("#pic").attr("src",data.filePath);
                  }
                  else {
                     alert("系统错误!");
                  }
               }, error: function (data) { 
                     alert("上传文件出错!");
               }
             };
         	
         	if ($('#file').val() != "") { 
                 $("#guestPortraitForm").ajaxSubmit(optionsThumbnail); 
             } 
   }

</script>


               <form id="guestPortraitForm" enctype="multipart/form-data" 
                     method="post" name="guestPortraitForm"> 
			        <table class="searchtable">
			           <tr>
			                <td class="bg_gray">附件:</td>
			                <td>
			                     <input type="file" id="file" name="file"/>
			                </td>
			           </tr>
			           <tr>
			              <td colspan="2">
			                <input type="button" value="上传" onclick="upload();"/>
			              </td>
			           </tr>
			        </table>    
			    </form> 



后台Controller:
@RequestMapping(value = "/upload/{type}", method = RequestMethod.POST) 
    @ResponseBody 
    public Map<String,Object> upload(@RequestParam final MultipartFile file, final @PathVariable String type, final HttpServletRequest request, final HttpServletResponse response) 
                throws Exception{ 
    	Map<String,Object> data = new HashMap<String,Object>();
    	try {
            String abstractFilePath = generateAbstractPath(file.getOriginalFilename(), type); 
            String absolutePath = generateAbsolutePath(abstractFilePath);
    		
            String cdnPath = "http://localhost:8080/2/";
            String filePath = cdnPath+abstractFilePath;
    		
    		FileUtils.save(absolutePath, file.getInputStream());
    		
    		data.put(Constants.FILE_PATH, filePath);
    		data.put(Constants.RESULT_STATUS, Constants.RESULT_SUCCEED);
        } catch (Exception e) { 
        	data.put(Constants.RESULT_STATUS, Constants.RESULT_FAILED);
        }    
    	return data;
    }

private String generateAbstractPath(String originalFileName, String type) {
        String suffix = originalFileName.substring(originalFileName.lastIndexOf(".") + 1);
        String fileName = new Date().getTime() + "_" + new Random().nextInt(100) + "." + suffix;
        return type+"/"+fileName;
    }
 

    private String generateAbsolutePath(String abstractFilePath) {
        String uploadPath = Constants.FILE_UPLOAD_BASE_PATH + abstractFilePath;
        return uploadPath;
    }



ie浏览器下,返回json出现提示下载的问题:http://www.blogjava.net/iamlibo/archive/2013/11/21/406646.html


图片查看时,配置一下虚拟目录。
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> 
       <Context docBase="D:/opt/csa" path="/csa" reloadable="true"/>
</Host> 


分享到:
评论

相关推荐

    【springmvc+jquery.form.min.js+spring文件上传】

    在本项目"【springmvc+jquery.form.min.js+spring文件上传】"中,我们将探讨如何结合这两个技术实现异步文件上传。 首先,我们需要理解Spring MVC中的文件上传处理。Spring MVC提供了`@RequestParam("file") ...

    SpringMvc+POI 导入Excel文件

    在这个项目中,我们将探讨如何结合SpringMvc和POI来实现Excel文件的导入功能,同时也会涉及Jquery.form.js插件提供的异步表单提交方式。 首先,要实现Excel文件的导入,我们需要理解SpringMvc中的控制器...

    SpringMVC使用MultipartFile 实现异步上传方法介绍

    在JS方法中,需要使用jQuery的ajaxSubmit方法,用于异步上传文件。这里需要设置type为post,url为服务器端的地址,contentType为application/x-www-form-urlencoded; charset=utf-8。同时,需要处理服务器端返回的...

    使用jQuery.form.js/springmvc框架实现文件上传功能

    主要实现异步文件上传的同时封装对象,以及一些注意事项。 功能本身是很简单的,但是涉及到一些传递参数类型的问题。例如:jquery的ajax方法与jquery.form.js中的ajaxSubmit方法的参数,具体细节将在下一篇博客中...

    jquery.form.js框架实现文件上传功能案例解析(springmvc)

    上一篇 Bootstrap自定义文件上传下载样式(//...例如:jquery的ajax方法与jquery.form.js中的ajaxSubmit方法的参数,具体细节将在下一篇博客中分享。 重点: html表格三要素: action=”fileUp

    ssm_ajaxsubmit-ajax提交-模态对话框-ajax上传文件

    在这个项目中,“ssm_ajaxsubmit-ajax提交-模态对话框-ajax上传文件”涉及了几个关键的技术点,主要包括:Ajax异步提交、模态对话框以及文件上传。下面将详细解析这些知识点。 1. **Ajax异步提交** Ajax...

    ajaxupload在spring mvc4.2中实现简单文件上传

    AjaxUpload是一种利用JavaScript和Ajax技术实现在后台服务器上异步上传文件的方法。它通过创建隐藏的IFrame和表单来模拟文件提交,避免了浏览器对跨域限制的问题,同时利用Ajax进行数据传输,实现无刷新的交互。 2...

    解决ajax提交到后台数据成功但返回不走success而走的error问题

    文章中也给出了后端SpringMVC控制器的示例代码,处理文件上传逻辑。在Controller层,通过注解@RequestMapping和@ResponseBody标识请求的映射方法以及响应的数据类型。通过参数MultipartFile来接收前端传来的文件,并...

Global site tag (gtag.js) - Google Analytics