asp.net+uploadify实现图片上传图片

前段代码如下

$("#file_upload").uploadify({

        'auto': true,

        'swf': '/template/js/cutImg/uploadify/uploadify.swf',

        'uploader': '/template/js/cutImg/upload.ashx',

        'multi': false, //是否能选择多个文件

        'queueID': 'fileQueue', //显示上传文件队列的元素id,可以简单用一个div来显示

        'cancelImage': '/template/js/cutImg/uploadify/uploadify-cancel.png', //[必须设置]取消图片的路径

        'buttonText': '', //上传按钮的文字

        'buttonImage': '/template/images/people.png', //上传按钮的背景图片

        'width': 100, //上传按钮的高和宽

        'height': 30,

        'removeCompleted': true,  //表示在上传完成后是否删除队列中的对应元素。默认是True,即上传完成后就看不到上传文件进度条了

        "removeTimeout": "0", //表示上传完成后多久删除队列中的进度条,默认为3

        "fileSizeLimit": "4096KB", //上传文件大小限制,默认单位是KB

        "fileTypeExts": "*.jpg;*.gif;*.png", //指定允许上传的文件类型。默认*.*

        "formData": { "folder_name": "UserHead" },

        "onSelect": function () { //选择文件后触发

            //禁用Uploadify

            //$("#file_upload").uploadify("disable", true);

        },

        'overrideEvents': ['onSelectError', 'onDialogClose'], //屏蔽内部错误提示

        'onFallback': function () { //检测FLASH失败调用

            FunMsg("您未安装FLASH控件,无法上传!请安装FLASH控件后再试。");

        },

        "onSelectError": function (file, errorCode, errorMsg) {

            //选择文件出错时触发,返回file,erroCode,errorMsg三个参数

           

          

            var settings = this.settings;

            if (errorCode == -110) {

                FunMsg("文件最大限制" + settings.fileSizeLimit);

            }

            if (errorCode == -130) {

                FunMsg("图片格式只支持:*.jpg;*.gif;*.png");

            }

        },

        "onUploadStart": function (file) {

           



            //动态设置参数的值

            //$("#file_upload").uploadify("settings", "formData", {"id":"1"});

        },

        "onUploadError": function (file, errorCode, erorMsg, errorString) {

           

        },

        "onUploadSuccess": function (file, data, response) {

                    //上传成功触发,data是用来接受从后台返回来的数值

         }

   });

 后台代码如下

        public void ProcessRequest(HttpContext context)

        {

            context.Response.ContentType = "text/plain";

            context.Response.Charset = "utf-8";



            HttpPostedFile file = context.Request.Files["Filedata"];          



            if (file != null)

            {

                //上传图片的扩展名

                string fileExtension = Path.GetExtension(file.FileName);//上传文件的后缀

                //判断文件格式

                if (!CheckValidExt(fileExtension))

                {

                    context.Response.Write("错误提示:文件格式不正确!" + fileExtension);

                    return;

                }

                //使用时间+随机数重命名文件

                string strDateTime = DateTime.Now.ToString("yyMMddhhmmssfff");//取得时间字符串

                Random ran = new Random();

                string strRan = Convert.ToString(ran.Next(100, 999));//生成三位随机数

                string saveName = strDateTime + strRan + fileExtension;



                string path = "/UploadFile/";

                string uploadPath = HttpContext.Current.Server.MapPath(path);

                //判断是否有该文件夹,没有就创建

                if (!Directory.Exists(uploadPath))

                {

                    Directory.CreateDirectory(uploadPath);

                }

                file.SaveAs(uploadPath + saveName);

                //下面这句代码缺少的话,上传成功后上队列的显示不会自动消失,并返回修改后的文件名称

                context.Response.Write(path+saveName);

            }

            else

            {

                context.Response.Write("0");

            } 

        }





        ///

        /// 检测扩展名的有效性 +bool CheckValidExt(string sExt)

        ///

        /// 文件名扩展名

        /// 如果扩展名有效,返回true,否则返回false.

        public bool CheckValidExt(string strExt)

        {

            string AllowExt = "7z|aiff|asf|avi|bmp|csv|doc|docx|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pptx|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xlsx|xml|zip";//支持的文件格式

            bool flag = false;

            string[] arrExt = AllowExt.Split('|');

            foreach (string filetype in arrExt)

            {

                if (filetype.ToLower() == strExt.ToLower().Replace(".", ""))

                {

                    flag = true;

                    break;

                }

            }

            return flag;

        }

 

你可能感兴趣的:(uploadify)