formdata 上传文件

html:

<p>指定文件名: <input type="text" name="filename" value="" /></p>

        <p>
            上传文件: <input type="file" name="file" id="myfile" /></ p>

            <input type="button" value="上传" οnclick="doUpload()" />

javascript:

<script>
        function doUpload() {

            var filepath = $("#myfile").val();

            var file = $("#myfile");
            
            if (getFileSize() == false) {
                return false;
            }

            var extStart = filepath.lastIndexOf(".");

            var ext = filepath.substring(extStart, filepath.length).toUpperCase();

            if (ext != ".BMP" && ext != ".PNG" && ext != ".GIF" && ext != ".JPG" && ext != ".JPEG" && ext != ".PDF") {

                alert("文件限于bmp,png,gif,jpeg,jpg,pdf格式");

                return false;

            }

            //var formData = new FormData($("#uploadForm")[0]);
            var formData = new FormData();
            formData.append("userfile", $('#myfile')[0].files[0]);
            $.ajax({
                url: 'UploadFile.ashx',
                type: 'POST',
                data: formData,
                async: false,
                cache: false,
                contentType: false,
                processData: false,
                success: function (returndata) {
                    alert(returndata);
                },
                error: function (returndata) {
                    alert(returndata);
                }
            });
        }
        function getFileSize() {
            try {
                var size = 0;
                var isie = false;
                try {
                    isie = $.browser.msie;
                }
                catch(ee)
                {
                }
                if (isie) {//ie旧版浏览器
                    var fileMgr = new ActiveXObject("Scripting.FileSystemObject");
                    var filePath = $('#myfile')[0].value;
                    var fileObj = fileMgr.getFile(filePath);
                    size = fileObj.size; //byte
                    size = size / 1024;//kb
                    size = size / 1024;//mb
                } else {//其它浏览器
                    size = $('#myfile')[0].files[0].size;//byte
                    size = size / 1024;//kb
                    size = size / 1024;//mb
                }
                if (size > 1) {
                    return false;
                }
                return true;
            } catch (e) {
                return false
            }
        }
    </script>

后台处理:

HttpServerUtility server = context.Server;

            HttpRequest request = context.Request;

            HttpResponse response = context.Response;



            HttpPostedFile file = context.Request.Files[0];

            if (file.ContentLength > 0)
            {

                string extName = Path.GetExtension(file.FileName);

                string fileName = Guid.NewGuid().ToString();

                string fullName = fileName + extName;



                string imageFilter = ".jpg|.png|.gif|.ico|.zip|.rar";// 随便模拟几个图片类型

                if (imageFilter.Contains(extName.ToLower()))
                {

                    string phyFilePath = server.MapPath("~/Upload/Image/") + fullName;

                    file.SaveAs(phyFilePath);

                    //response.Write("上传成功!文件名:" + fullName + "<br />");
                    var path = "http://"+ HttpContext.Current.Request.Url.Authority + "/Upload/Image/" + fullName;
                    response.Write(path);

                }

            }

formdata是关键!!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值