分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

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

发布时间:2023-09-06 02:31责任编辑:赖小花关键词:.NET

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;
                }

}

 
 

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

原文地址:https://www.cnblogs.com/spadesQ/p/10300637.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved