Exemple #1
0
        /// <summary>
        /// 上传产品图片
        /// </summary>
        private void UploadProductsPicture()
        {
            string Msg = "";

            if (Request.Files.Count <= 0)
            {
                Msg = "{\\\"type\\\":false,\\\"msg\\\":\\\"没有可上传的文件\\\"}";
            }
            else
            {
                HttpPostedFile CurrentFile = Request.Files[0];

                string[] PictureExt          = SMS.Config.SysConfig.GetConfigValue("PictureExt").Split(',');
                string[] ProductsPictureSize = SMS.Config.SysConfig.GetConfigValue("ProductsPictureSize").Split('-');

                if (CurrentFile.ContentLength == 0)
                {
                    Msg = "{\\\"type\\\":false,\\\"msg\\\":\\\"您还未选择文件\\\"}";
                }
                else if (!Upload.CheckExt(System.IO.Path.GetExtension(CurrentFile.FileName).ToLower(), PictureExt))
                {
                    Msg = "{\\\"type\\\":false,\\\"msg\\\":\\\"文件格式不正确\\\"}";
                }
                else if (CurrentFile.ContentLength / 1024 < Convert.ToInt32(ProductsPictureSize[0]) || CurrentFile.ContentLength / 1024 > Convert.ToInt32(ProductsPictureSize[1]))
                {
                    Msg = "{\\\"type\\\":false,\\\"msg\\\":\\\"文件大小不正确,文件容量只能在  " + ProductsPictureSize[0] + " - " + ProductsPictureSize[1] + "kb 之间\\\"}";
                }
                else
                {
                    try
                    {
                        //图片目录
                        string PictureFolder = System.DateTime.Now.ToString("yyyyMMddHHmmssffff") + new Random().Next(99, 1000);
                        string FullDir       = Server.MapPath(UploadDir + TempUploadFolder + "/" + PictureFolder) + "/";
                        Upload.CreateDirectory(FullDir);

                        //文件名
                        string FileExt  = System.IO.Path.GetExtension(CurrentFile.FileName).ToLower();
                        string FileName = "o" + FileExt;

                        //完整文件路径
                        string Path = FullDir + FileName;

                        //保存文件
                        CurrentFile.SaveAs(Path);

                        //生成缩略图
                        string[] ProductsPictureThumbnail = SMS.Config.SysConfig.GetConfigValue("ProductsPictureThumbnail").Split(',');
                        for (int j = 0; j < ProductsPictureThumbnail.Length; j++)
                        {
                            //缩略图的宽和高
                            string[] CurrentThumbnail = ProductsPictureThumbnail[j].Replace("[", "").Replace("]", "").Split('|');
                            int      Width            = Convert.ToInt32(CurrentThumbnail[0]);
                            int      Height           = Convert.ToInt32(CurrentThumbnail[1]);

                            //完整缩略图文件路径
                            string ThumbnailFileName = Width + "x" + Height + FileExt;
                            string ThumbnailFilePath = FullDir + ThumbnailFileName;

                            //生成缩略图 并且添加水印
                            if (CurrentThumbnail[2] == "True")
                            {
                                string[] ProductsPictureWaterImageOffset = SMS.Config.SysConfig.GetConfigValue("ProductsPictureWaterImageOffset").Split(',');
                                ImageTools.MakeThumbnailImageAndWaterImage(Path, ThumbnailFilePath, Width, Height, Server.MapPath(SMS.Config.SysConfig.GetConfigValue("WaterImagePath")), ImageTools.ConvertToWaterImageDirection(SMS.Config.SysConfig.GetConfigValue("ProductsPictureWaterImageDiretion")), Convert.ToInt32(ProductsPictureWaterImageOffset[0]), Convert.ToInt32(ProductsPictureWaterImageOffset[1]));
                            }
                            //只生成缩略图 不添加水印
                            else
                            {
                                ImageTools.MakeThumbnailImage(Path, ThumbnailFilePath, Width, Height);
                            }
                        }

                        Msg = "{\\\"type\\\":true,\\\"msg\\\":\\\"上传成功\\\",\\\"picture\\\":\\\"" + PictureFolder + "/" + FileName + "\\\"}";
                    }
                    catch
                    {
                        Msg = "{\\\"type\\\":false,\\\"msg\\\":\\\"上传过程中出错\\\"}";
                    }
                }
            }

            Response.Write("<script type=\"text/javascript\">" +
                           "\r\tparent.uploadEnd(\"" + Msg + "\")" +
                           "\r</script>");
            Response.End();
        }