• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦前台上传参考jQuery Uploadify 3.2上传插件使用
    POST TIME:2021-05-23 02:31

     

    下载下来解压后估计里面很多文件,其实有用的也就一个jquery.uploadify.js和uploadify.swf这两个文件。当然啦,jQuery库那是必须的。

    在你使用的项目中,把jquery.uploadify.js引入以后,用法和大多数JQ插件一样。同时也要记得引入swfobject.js这个插件,版本2.2以上的。使用方法例如:

    $(function() {
        $("#file_upload_1").uploadify({
            height        : 30,
            swf           : '/uploadify/uploadify.swf',
            uploader      : '/uploadify/UploadHandler.ashx',
            width         : 120
        });
    });


    ,上面的只是简单的事例,下面我就把我在项目中做的发出来,每个都有解释:file_upload_1其实也就是一个容器ID,比如

    $(document).ready(function() {
        $("#file_upload").uploadify({
            //开启调试
            'debug' : false,
            //是否自动上传
            'auto':false,
            //超时时间
            'successTimeout':99999,
            //附带值
            'formData':{
                'userid':'用户id',
                'username':'用户名',
                'rnd':'加密密文'
            },
            //flash
            'swf': "uploadify.swf",
            //不执行默认的onSelect事件
            'overrideEvents' : ['onDialogClose'],
            //文件选择后的容器ID
            'queueID':'uploadfileQueue',
            //服务器端脚本使用的文件对象的名称 $_FILES个['upload']
            'fileObjName':'upload',
            //上传处理程序
            'uploader':'imageUpload.php',
            //浏览按钮的背景图片路径
            'buttonImage':'upbutton.gif',
            //浏览按钮的宽度
            'width':'100',
            //浏览按钮的高度
            'height':'32',
            //expressInstall.swf文件的路径。
            'expressInstall':'expressInstall.swf',
            //在浏览窗口底部的文件类型下拉菜单中显示的文本
            'fileTypeDesc':'支持的格式:',
            //允许上传的文件后缀
            'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png',
            //上传文件的大小限制
            'fileSizeLimit':'3MB',
            //上传数量
            'queueSizeLimit' : 25,
            //每次更新上载的文件的进展
            'onUploadProgress' : function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) {
                 //有时候上传进度什么想自己个性化控制,可以利用这个方法
                 //使用方法见官方说明
            },
            //选择上传文件后调用
            'onSelect' : function(file) {
                        
            },
            //返回一个错误,选择文件的时候触发
            'onSelectError':function(file, errorCode, errorMsg){
                switch(errorCode) {
                    case -100:
                        alert("上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
                        break;
                    case -110:
                        alert("文件 ["+file.name+"] 大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
                        break;
                    case -120:
                        alert("文件 ["+file.name+"] 大小异常!");
                        break;
                    case -130:
                        alert("文件 ["+file.name+"] 类型不正确!");
                        break;
                }
            },
            //检测FLASH失败调用
            'onFallback':function(){
                alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
            },
            //上传到服务器,服务器返回相应信息到data里
            'onUploadSuccess':function(file, data, response){
                alert(data);
            }
        });
    });


    上传后台处理程序UploadHandler.ashx:大体上常用的我想也就这些,至于后端处理上传部分,我这里就不多讲了,和普通的文件上传处理方式是一样的。

     

    /// <summary>
        /// UploadHandler 的摘要说明
        /// </summary>
        public class UploadHandler : IHttpHandler
        {
            public void ProcessRequest(HttpContext context)
            {
                try
                {
                    context.Response.ContentType = "text/plain";
                    //接收上传后的文件
                    HttpPostedFile file = context.Request.Files["Filedata"];
                    //其他参数
                    //string somekey = context.Request["someKey"];
                    //string other = context.Request["someOtherKey"];
                    //获取文件的保存路径
                    //string uploadPath = HttpContext.Current.Server.MapPath("UploadImages" + "\\");
                    string uploadPath = context.Request.Form["uploadPath"];
                    //没有指定上传路径,则使用默认路径
                    if (string.IsNullOrEmpty(uploadPath) || uploadPath == "")
                    {
                        uploadPath = string.Format("/upload/images/{0}/{1}/", DateTime.Now.Year, DateTime.Now.Month.ToString("D2"));
                    }
                    string fullUploadPath = HttpContext.Current.Server.MapPath(uploadPath);
                    //判断上传的文件是否为空
                    if (file != null)
                    {
                        if (!Directory.Exists(fullUploadPath))
                        {
                            Directory.CreateDirectory(fullUploadPath);
                        }
                        //文件名
                        string _filename = context.Request.Form["uploadFileName"];
                        //没有指定文件名,则生成一个随机文件名
                        if (string.IsNullOrEmpty(_filename) || _filename == "")
                        {
                            DateTime _temDT = DateTime.Now;
                            //扩展名
                            string sExt = file.FileName.Substring(file.FileName.LastIndexOf(".")).ToLower();
                            //生成随机数
                            int digit = 6;
                            Random _rnd = new Random();
                            string rnd = _rnd.Next((int)Math.Pow(10, digit), (int)Math.Pow(10, digit + 1)).ToString();
                            //文件名
                            _filename = string.Format("{0}{1}{2}", _temDT.Ticks.ToString(), rnd, sExt);
                        }
                        //保存文件
                        file.SaveAs(fullUploadPath + _filename);
                        context.Response.Write(string.Format("{{\&;code\&;:\&;1\&;,\&;msg\&;:\&;上传成功\&;,\&;filePath\&;:\&;{0}\&;,\&;fileName\&;:\&;{1}\&;}}", uploadPath + _filename, _filename));
                    }
                    else
                    {
                        context.Response.Write("{{\&;code\&;:\&;0\&;,\&;msg\&;:\&;没有要上传的文件!\&;}}");
                    }
                }
                catch (Exception ex)
                {
                    context.Response.Write(string.Format("{{\&;code\&;:\&;0\&;,\&;msg\&;:\&;{0}\&;}}", ex.Message));
                }
                finally
                {
                    context.Response.End();
                }
            }
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!