Ajaxfileupload图片上传(支持PC端、微信、手机浏览器)

本文介绍如何使用Ajaxfileupload.js实现PC、微信和手机浏览器的异步文件上传,包括前端HTML标签设置、JS调用以及后端C#代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用H5做移动端的上传文件的时候,为了快速实现图片和文件上传,学习Ajaxfileupload.js上传,觉得该js异步上传很不错,不仅能在PC端通过浏览器调用文件框选择需要上传的文件还能在微信和手机端的浏览器直接调用文件管理器,来选择文件进行上传操作;
最主要是它实现很简单,易于学习和操作;

首先使用HTML页面标签

 <input type="file" id="fileDocuments" name="fileDocuments" onchange="uploadPic(this)" accept="image/*;capture=camcorder" />

第一步引用JS文件

<script src="/Scripts/ajaxfileupload.js"></script>
<script src="jquery-1.7.1.js" type="text/javascript">

前端JS调用如下:

</script>
  <script type="text/javascript">
 //上传图片
        var uploadPic = function (handle) {
            var id = handle.id;
            $.ajaxFileUpload({
                url: '/UserCenter/controls/Userdo.ashx',//调用后台方法
                secureuri: false, //是否需要安全协议,一般设置为false
                fileElementId: id,
                dataType: 'json',
                data: { type: 'upload' },
                success: function (data, status) {
                    if (data.status == "success") {
                        //方法一:直接返回路径绑定到src
                        //var tid = "#" + id.replace("file", "");
                        //$(tid).val(data.msg);
                        //$("#fileImg").attr("src", data.msg);
                         //方法二:采用模板绑定上传后的预览位置
                        var str = '<li><div class="divCertificate"><em onclick="deleteCertificate(this)">×</em><img src="' + data.msg + '" alt="" /></div></li>';
                        $("#loadedImg").append(str);
                        //提示信息
                        $.notify({ message: "图片上传成功!" });
                         //限制上传个数
                        //var certificatesImgs = $(".divCertificate");
                        //if (certificatesImgs.length == 4) {
                        //    $("#onaddbtn").hide();
                        //    $("#onloadImg").hide();
                        //}
                    } else {
                        $.notify({ message: data.msg });
                    }
                },
                error: function (data, status, e) {//服务器响应失败处理函数
                    $.notify({ message: "上传出错请重试!" + data });
                }
            });
        };
 </script>

后端采用C#代码实现:

   #region 文件上传
                    var files = context.Request.Files;
                    if (files.Count == 0)
                        ret = "{\"status\":\"0\",\"msg\":\"" + ret + "\"}";
                    else
                    {
                        try
                        {
                            //保存图片路径
                            var path = context.Server.MapPath("/Uploadfile/");
                            if (!Directory.Exists(path))
                                Directory.CreateDirectory(path);
                            HttpPostedFile file = files[0];
                            if (file.ContentLength > 0)
                            {
                                var getExt = Path.GetExtension(file.FileName);
                                //修改图片名称
                                var fileName = Guid.NewGuid().ToString().Replace("-", "") + getExt;
                                var filePath = path + fileName;
                                //保存图片
                                file.SaveAs(filePath);
                                var host = context.Request.Url.Host;
                                 //返回图片路径
                                ret = SiteConfigManager.GetConfigStringByKey("weixinH5Domain") + "/Uploadfile/" + fileName;
                                ret = "{\"status\":\"success\",\"msg\":\"" + ret + "\"}";
                            }
                            else
                                ret = "{\"status\":\"0\",\"msg\":\"上传图片不能为空\"}";

                        }
                        catch
                        {
                            ret = "{\"status\":\"0\",\"msg\":\"" + ret + "\"}";
                        }
                    }
                #endregion
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑的曙光(StevenLi)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值