(H5)FormData+AJAX+SpringMVC跨域异步上传文件

前端之家收集整理的这篇文章主要介绍了(H5)FormData+AJAX+SpringMVC跨域异步上传文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近都没时间整理资料了,一入职就要弄懂业务,整天被业务弄得血崩。

总结下今天弄了一个早上的跨域异步上传文件。主要用到技术有HTML5的FormData,AJAX,Spring MVC。

首先看下上传页面

<!DOCTYPE html>
<html>
    head>
        Meta charset="UTF-8"script type="text/javascript" src="js/plugins/jquery-1.8.3.min.js" ></scripttitle</bodyinput ="file" id="file_upload"/>
        ="button" value="上传图片"="upload"/>            
    ="js/upload.js" >

上传页面很简单,就两个input元素。

然后看下upload.js。注意这个upload.js是自己写的,里面那个ajaxFileUpload并不是jQuery提供的那个上传插件方法

$(document).ready(function(){
    
    function ajaxFileUpload(){
        var formData = new FormData();
        formData.append('file',$("#file_upload")[0].files[0]);    //文件转成二进制形式
        $.ajax({
            type:"post",url:"http://localhost:8080/nitshareserver/serve/fileupload",async:false,contentType: false,这个一定要写
            processData: 这个也一定要写,不然会报错
            data:formData,dataType:'text',0)">返回类型,有json,text,HTML。这里并没有jsonp格式,所以别妄想能用jsonp做跨域了。
            success:function(data){
                alert(data);
            },error:function(XMLHttpRequest,textStatus,errorThrown,data){
                alert(errorThrown);
            }            
        });
    }
    
    $("#upload").click(function(){
        ajaxFileUpload();
    });
});

猜你在找的SpringMVC相关文章