当前位置: 移动技术网 > IT编程>开发语言>.net > .NET中的FileUpload控件的使用-Jquery(一)

.NET中的FileUpload控件的使用-Jquery(一)

2019年01月23日  | 移动技术网IT编程  | 我要评论

如何给婴儿换奶粉,打狗棍49,郭德纲封箱

fileupload在html中是个常用的基础控件,在涉及到上传各种格式的文件时候都会用到;笔者前段时间正好用到它做上传功能,记录下来做一些累积,

前端到后台用的是的jquery中的ajax进行数据传输,在后台的逻辑处理中以httppostedfilebase的对象调用saveas(serversavepath)方法去存储到指定路径。

microsoft在技术文档中是这样描述httppostedfilebase的

serves as the base class for classes that provide access to individual files that have been uploaded by a client.
用于提供客户端上传的单个文件访问的类的基类
 
接下来看看如何实现:
html
  <div class="container">
        <div class="row">
            <input type="file" id="files" multiple name="files" /><button class="btn-default" id="uploadbutton">点我上传</button>
        </div>
    </div>
js
 $(function () {
            $('#uploadbutton').click(function () {
              var data= new formdata();
                var fileupload = $("#files").get(0);
                files = fileupload.files;
                if (files.length > 0) {
                    for (var i = 0; i < files.length; i++) {
                        data.append(files[i].name, files[i]); //formdata 是以键值对的形式模拟表单,然后以xmlhttprequest请求出去。表单的enctype的属性为multipart/form-data 
                    }
                    $.ajax({
                        url: '/ienotes/commonfile,
                        type: "post", 
                        processdata: false,   //  不序列化,直接将data进行传输。
                        contenttype: false,    // 告诉jquery不要设置content-type请求头,设置成true会对formdata的边界造成干扰,接收不到数据。
                        data: data,
                        success: function (result) {
                            //location.href("index");
                            alert(result);
                        },
                        error: function (err) {
                            alert(err.statustext);
                        }
                    });
                }
            });
        });
 后台

public static bool commonfile(){

 var  files = request.files.allkeys.distinct(); //将传输过来的files进行去重
                if (files != null)
                {
                    foreach (string each in files)
                    {
                        httppostedfilebase file = request.files[each] as httppostedfilebase; //注意,这里有一个对象类型转换的过程,需要将传过来的对象转换成httppostedfilebase对象
                        if (file != null)
                        {
                            var inputfilename = path.getfilename(file.filename);
                            string str4 = appdomain.currentdomain.basedirectory;    //获取基目录,它由程序集冲突解决程序用来探测程序集。

                            var serversavepath = path.combine(server.mappath("~/uploads/") );
                            if (!directory.exists(serversavepath))//检查路径是否存在
                            {
                                directory.createdirectory(serversavepath);
                            }
                            var savepath = path.combine(serversavepath ,inputfilename);

                            file.saveas(savepath);
                        }

                    }
                    return true;
                }
                else
                {
                    return false;
                }

}

 
 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网