Esempio n. 1
0
        //public AreaXML_Cities GetCityData(string procinceName,string cityName)
        //{
        //    return this.GetCitiesData(procinceName).FirstOrDefault(z => z.CityName == cityName);
        //}


        /// <summary>
        /// 更新城市的区号、邮编
        /// </summary>
        /// <param name="cityName">城市名称</param>
        /// <param name="cityCode">区号</param>
        /// <param name="zipCode">邮编</param>
        /// <returns></returns>
        public bool UpdateCityCodeAndZipCode(string cityName, int cityCode, int zipCode)
        {
            try
            {
                //TODO:最好能应用单件模式
                XElement doc               = this.GetXmlElement(CITIES_XML_PATH);                                                             //获取XML文档
                string   xmlFilePath       = SenparcHttpContext.MapPath(CITIES_XML_PATH);                                                     //路径
                string   backUpXmlFilePath = xmlFilePath + "." + DateTime.Now.ToString().Replace(":", "_") + ".更新区号邮编(" + cityName + ").bak"; //备份文件路径

                var cityData = (from c in doc.Elements() where c.Attribute("CityName").Value == cityName select c).Single();
                //备份当前数据
                //File.Copy(xmlFilePath, backUpXmlFilePath);
                cityData.Save(backUpXmlFilePath);                            //备份单条信息

                cityData.SetAttributeValue("CityCode", cityCode.ToString()); //更新区号
                cityData.SetAttributeValue("ZipCode", zipCode.ToString());   //更新邮编

                //保存
                doc.Save(xmlFilePath);

                //更新缓存
                AreaDataCache_City areaData = new AreaDataCache_City();
                areaData.Data.Clear(); //清空
                GetCitiesData();       //使用调用,更新缓存

                return(true);
            }
            catch { return(false); }
        }
Esempio n. 2
0
        public static string GetWebMapPath(string virtualPath)
        {
            if (virtualPath == null)
            {
                return("");
            }

            return(SenparcHttpContext.MapWebPath(virtualPath));
        }
Esempio n. 3
0
        /// <summary>
        /// 获取缩略图信息,返回缩略图物理路径和源文件物理路径
        /// </summary>
        /// <param name="uploadResult">通过UploadFile()方法返回的结果(如果上传成功,返回相对网站根目录路径)</param>
        /// <param name="fileFormat">缩略文件格式(在Config.UpLoadFileFormat中)</param>
        /// <param name="filePhyicalPath">源文件物理路径</param>
        /// <returns></returns>
        private static string GetTumbnailFileName(string uploadResult, string fileFormat, out string filePhyicalPath)
        {
            string fileApplicationPath = GetVirtualPathFormFullApplicationPath(uploadResult);                                              //还原ApplicationPath

            filePhyicalPath = SenparcHttpContext.MapPath(fileApplicationPath);                                                             //源文件物理路经
            string thumbnailFilename = Path.GetDirectoryName(filePhyicalPath)                                                              //和原始图片放于同一文件夹
                                       + "/" + string.Format(fileFormat, Path.GetFileName(uploadResult), Path.GetExtension(uploadResult)); //原文件名+标记+原扩展名

            return(thumbnailFilename);
        }
Esempio n. 4
0
        /// <summary>
        /// 私有方法,上传文件,防止外部调用
        /// </summary>
        /// <param name="savePathStr"></param>
        /// <param name="file">HttpPostedFileBase</param>
        /// <param name="fileNameOnServer">保存文件名(不包含扩展名)</param>
        /// <param name="limit">限制大小(KB)</param>
        /// <param name="isDel">是否删除已存在</param>
        /// <returns></returns>
        private static string UploadFile(string savePathStr, string fileNameOnServer, IFormFile file, long limit, bool isDel, string[] allowedExtension = null)
        {
            //上传    ——by TNT2;
            string saveFileName = string.Empty;//服务器上地址,如果成功,返回正确地址


            string fileExtension = System.IO.Path.GetExtension(file.FileName).ToLower();

            if (allowedExtension != null && !allowedExtension.Contains(fileExtension))
            {
                return($"为确保系统安全,此文件类型({fileExtension})被禁止上传,如确实需要上传,请联系客服。");
            }

            //调用SaveAs方法,实现上传,并显示相关信息    ——by TNT2

            //总限制大小  220M  ——by TNT2
            if (file.Length < limit * 1024)
            {
                //实现上传    ——by TNT2
                //获取给予运用程序根文件夹的绝对路径    ——by TNT2
                saveFileName = fileNameOnServer + Path.GetExtension(file.FileName).ToLower();                                //保存文件名
                string savePhyicalPath     = SenparcHttpContext.MapPath(savePathStr);
                string savePhyicalFilePath = Path.Combine(savePhyicalPath, saveFileName);                                    //服务器上的保存物理路径
                string saveApplicationPath = Path.Combine(GetFullApplicationPathFromVirtualPath(savePathStr), saveFileName); //文件的网站绝对地址

                //保存文件
                if (isDel && File.Exists(savePhyicalFilePath))
                {
                    File.Delete(savePhyicalFilePath);//先删除
                }

                if (!Directory.Exists(savePhyicalPath))
                {
                    Directory.CreateDirectory(savePhyicalPath);
                }

                using (var reader = new FileStream(savePhyicalFilePath, FileMode.OpenOrCreate))
                {
                    file.CopyTo(reader);
                    reader.Flush();
                }

                //返回图片的网站绝对地址
                return(saveApplicationPath);
            }
            else
            {
                return("只能上传" + limit + "KB以内的文件!此文件大小:" + file.Length / 1024 + " KB");
            }

            //return saveFileName;
        }
Esempio n. 5
0
 private XElement GetXmlElement(string xmlApplicationPath)
 {
     return(XElement.Load(SenparcHttpContext.MapPath(xmlApplicationPath)));
 }