通过Ajax方式上传文件(input file),使用FormData进行Ajax请求

< div >
    < input  type="file" name="FileUpload" id="FileUpload">
    < a  class="layui-btn layui-btn-mini" id="btn_uploadimg">上传图片</ a >
</ div >
<script type= "text/jscript" >
 
        $( function  () {
            $( "#btn_uploadimg" ).click( function  () {
                var  fileObj = document.getElementById( "FileUpload" ).files[0];  // js 获取文件对象
                if  ( typeof  (fileObj) ==  "undefined"  || fileObj.size <= 0) {
                    alert( "请选择图片" );
                    return ;
                }
                var  formFile =  new  FormData();
                formFile.append( "action" "UploadVMKImagePath" );  
                formFile.append( "file" , fileObj);  //加入文件对象
 
                //第一种  XMLHttpRequest 对象
                //var xhr = new XMLHttpRequest();
                //xhr.open("post", "/Admin/Ajax/VMKHandler.ashx", true);
                //xhr.onload = function () {
                //    alert("上传完成!");
                //};
                //xhr.send(formFile);
 
                //第二种 ajax 提交
 
                var  data = formFile;
                $.ajax({
                    url:  "/Admin/Ajax/VMKHandler.ashx" ,
                    data: data,
                    type:  "Post" ,
                    dataType:  "json" ,
                    cache:  false , //上传文件无需缓存
                    processData:  false , //用于对data参数进行序列化处理 这里必须false
                    contentType:  false //必须
                    success:  function  (result) {
                        alert( "上传完成!" );
                    },
                })
            })
        })
 
    </script>
补充 IE8 不支持.files 写法
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值