在服务器端做文件上传的过程中,如果使用web服务器短端的上传控件去上传文件的话,会导致页面刷新一次,这样对用户的体验就不是很友好了。ajaxfileupload.js是一款jQuery的异步上传文件插件,使用简单且容易上手。

前置条件:ajaxfileupload.js文件,百度下载一个就行。

JS引用:
复制代码 代码如下:
<script src="/UploadFiles/2021-04-02/jquery-2.1.1.js"> <script src="/Content/Js/ajaxfileupload.js">

html代码:
复制代码 代码如下:
 <input id="fileToUpload" type="file" name="fileToUpload">

JS代码:
复制代码 代码如下:
function saveCInfo() {
            var filename = document.getElementById("fileToUpload").value;
            if (filename != "") {
                $.ajaxFileUpload({
                    url: '../Order/OrderExec.ashx"&filename=" + filename + "&billno=" + billno + "&companyname=" + companyname,
                    secureuri: false,
                    fileElementId: 'fileToUpload',//上传控件ID
                    //dataType: 'json',
                    error: function () { alert('error'); },
                    success: function (datax) {
                        if (datax != "") {
                            msgShow('系统提示', '上传成功!', 'info');
                        } else {
                            msgShow('系统提示', '上传失败!', 'info');
                        }
                    }
                });
            } else {
                $.messager.alert('提示', '请选择上传文件', 'info');
            }
        }

后台代码:

复制代码 代码如下:
public void FileUpload(HttpContext context)
        {
            try
            {
                context.Response.ContentType = "text/html";
                string companyname = context.Request.Params["companyname"];
                string billno = context.Request.Params["billno"];
                string filename = context.Request.Params["filename"];
                string name = companyname + "_" + billno + "_" + filename;
                HttpFileCollection files = HttpContext.Current.Request.Files;
                //指定上传文件在服务器上的保存路径
                string savePath = context.Server.MapPath("~/upload/");
                //检查服务器上是否存在这个物理路径,如果不存在则创建
                if (!System.IO.Directory.Exists(savePath))
                {
                    System.IO.Directory.CreateDirectory(savePath);
                }
                savePath = savePath + name;//上传文件路径
                files[0].SaveAs(savePath);//保存文件
                context.Response.Write(savePath);
            }
            catch (Exception ex)
            {
                context.Response.Write("FileUpload: " + ex.Message);
            }

        }

标签:
JQuery,ajaxfileupload.js,异步上传文件

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com