ajaxfileupload.js实现无刷新异步上传图片Demo

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajaxfileupload.js实现无刷新异步上传图片Demo相关的知识,希望对你有一定的参考价值。

第一步:导入ajaxfileupload.js文件

第二步:新建一个aspx,在body里面创建一个文件域,一个上传按钮

<body>
    <input type="file" name="file" id="fileId" />
    <input type="button"  value="上传" id="uploadBtn" />
    <br />
    <img src="" id="img" />
</body>

第三步:客户端代码

<script>
        $(function () {
            $("#uploadBtn").click(function () {
                $.ajaxFileUpload({
                    url: FileUpload.ashx,//执行上传处理的文件地址
                    fileElementId: fileId,//file控件的id属性的值,要求这个控件要有name属性,用于在服务器端接收                  
                    success: function (data) {//成功的回调函数,内部处理会加上html标签,
                        $("#img").attr("src", $(data).text());
                    }
                });
            });
        });
        //$.ajaxFileUpload({
        //    url: ‘PhotoGet.ashx‘,//执行上传处理的文件地址
        //    secureuri: false,//是否加密,一般是false,默认值为false
        //    fileElementId: ‘UploadImg‘,//file控件的id属性的值,要求这个控件要有name属性,用于在服务器端接收
        //    data: {//额外传递的数据,使用json,此时必须设置type为post
        //        type: 1
        //    },
        //    type: ‘post‘,//请求方式,如果传递额外数据,必须是post
        //    success: function (data) {//成功的回调函数,内部处理会加上html标签,data是DOM对象,通过$(data)转成html标签
        //        $("#img1").attr("src", $(data).text());
        //    }
        //});
    </script>

第四步:服务端代码

 public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            HttpPostedFile file = context.Request.Files["file"];
            if (file!=null)
            {
                string fileName = Path.GetFileName(file.FileName);
                string fileExten = Path.GetExtension(fileName);
                if (fileExten == ".jpg")
                {
                    string dir = "/ImageUpload/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";
                    if (!Directory.Exists(context.Request.MapPath(dir)))
                    {
                        Directory.CreateDirectory(context.Request.MapPath(dir));
                    }
                    string fullFilePath = dir + Guid.NewGuid().ToString() + "_" + fileName;
                    file.SaveAs(context.Request.MapPath(fullFilePath));
                    context.Response.Write(fullFilePath);
                }
            }
           
        }

 

以上是关于ajaxfileupload.js实现无刷新异步上传图片Demo的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC结合ajaxfileupload.js实现文件无刷新上传

ajaxFileUpload上传带参数文件及JS验证文件大小

使用jquery的ajaxfileupload.js和struts2无刷新上传文件出错

jsp中使用jquery的ajaxfileupload插件怎么实现异步上传

JFinal+ajaxfileupload实现图片的异步上传

利用ajaxfileupload.js异步上传文件