/// <summary>
        /// 保存新图片
        /// </summary>
        /// <param name="path">新图片保存路径</param>
        /// <param name="dt">数据源</param>
        /// <param name="yZ"></param>
        /// <param name="yzpath">水印图片</param>
        public void SaveNewPicture(string path, DataTable dt, Create_YZ yZ, string yzpath)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string newpath = path + "\\" + dt.Rows[i]["phurl"].ToString().Trim();//新图片的物理路径
                if (!System.IO.File.Exists(newpath))
                {
                    try
                    {
                        string urlpt = dt.Rows[i]["wzlj"].ToString().Trim();
                        //Log.Debug("出库单图片", "图片完整路径:" + urlpt);
                        int begin = urlpt.LastIndexOf("/") + 1;
                        //Log.Debug("出库单图片", "begin:" + begin);
                        int length = urlpt.Length - begin;
                        //Log.Debug("出库单图片", "length:" + length);
                        string cutout = urlpt.Substring(begin, length);
                        //Log.Debug("出库单图片", "截取:" + cutout);
                        cutout = HttpUtility.UrlEncode(cutout);
                        cutout = cutout.Replace("+", "%20");
                        //Log.Debug("出库单图片", "截取转码:" + cutout);
                        urlpt = urlpt.Substring(0, begin) + cutout;
                        //Sk_B2BAPI.App_Code.Log.Debug("出库单图片", "重新拼接:" + urlpt);
                        WebRequest           wr    = WebRequest.Create(urlpt);
                        HttpWebResponse      wresp = (HttpWebResponse)wr.GetResponse();
                        Stream               s     = wresp.GetResponseStream();
                        System.Drawing.Image img   = System.Drawing.Image.FromStream(s);

                        //Sk_B2BAPI.App_Code.Log.Debug("出库单图片", "新图片的物理路径:" + newpath);
                        //Sk_B2BAPI.App_Code.Log.Debug("出库单图片", "加水印之前:" + yzpath);
                        yZ.BuildWatermark(img, yzpath, "", newpath);
                    }
                    catch (Exception ex)
                    {
                        LogQueue.Write(LogType.Error, "QualityInspectionReport/SaveNewPicture", ex.ToString());
                        continue;
                    }
                }
            }
        }
 /// <summary>
 /// 将图片加水印下载至本地
 /// </summary>
 /// <param name="sqlvalue">一级(客户、商品或其它)</param>
 /// <param name="SqlType">类型</param>
 /// <param name="dt">数据源</param>
 /// <param name="ImgUrl">水印图片路径</param>
 /// <param name="arguments">二级(批号或其它)</param>
 private void UplaodImg(string sqlvalue, string SqlType, DataTable dt, string ImgUrl, string arguments)
 {
     try
     {
         if (dt.Rows.Count > 0)
         {
             string str = HttpRuntime.AppDomainAppPath;
             //存放质检图片路径
             string filePath = str + "FPImgupload";
             if (!Directory.Exists(filePath))
             {
                 Directory.CreateDirectory(filePath);
             }
             //创建临时文件夹(一级文件夹)
             string url = str + "FPImgupload" + "\\" + SqlType + "\\" + sqlvalue;
             if (!FileExists(url))
             {
                 LogQueue.Write(LogType.Error, "QualityInspectionReport/UplaodImg", "一级文件夹创建失败");
                 throw new Exception("一级文件夹创建失败");
             }
             Create_YZ            YZ     = new Create_YZ();
             string               path   = filePath + "\\" + SqlType + "\\" + sqlvalue;//带印章质检报告图片路径
             string               yzpath = str + ImgUrl;
             System.Drawing.Image image1 = new System.Drawing.Bitmap(829, 1169);
             if (!dt.Columns.Contains("grp"))
             {
                 throw new Exception("数据源表缺少必须分组列:grp");
             }
             //根据二级将图片分组 grp为数据库分组字段,不可删除
             var query = from g in dt.AsEnumerable()
                         group g by new { g1 = g.Field <string>("grp") } into source
                 select new { pihao = source.Key.g1 };
             //重置路径
             string reset = path;
             foreach (var item in query)
             {
                 ////每次循环重置路径
                 path = reset;
                 url  = str + "FPImgupload" + "\\" + SqlType + "\\" + sqlvalue + "\\" + item.pihao;
                 if (!FileExists(url))
                 {
                     LogQueue.Write(LogType.Error, "QualityInspectionReport/UplaodImg", "二级文件夹创建失败");
                     throw new Exception("二级文件夹创建失败");
                 }
                 //拼接上分组字段
                 path = path + "\\" + item.pihao;
                 //Log.Debug("path+", path);
                 var       columns = dt.AsEnumerable().Where <DataRow>(r => r["grp"].ToString() == item.pihao.ToString());
                 DataTable table   = dt.Clone();
                 foreach (DataRow dr in columns)
                 {
                     table.ImportRow(dr);
                 }
                 SaveNewPicture(path, table, YZ, yzpath);
             }
         }
     }
     catch (Exception ex)
     {
         LogQueue.Write(LogType.Error, "QualityInspectionReport/UplaodImg", ex.ToString());
         throw new Exception(ex.ToString());
     }
 }