zoukankan      html  css  js  c++  java
  • 获取文件--->修改内容 --> 保存 --> 关闭

           public static FileMgr_Rep UploadLamborFrontEndWeb_IndexContent_Files(int MasterID, MasterLogoUrlSettingInfo ContentFillConent, int type, string StatisticalCode)
            {
                FileMgr_Rep ReqInfo = new FileMgr_Rep();
                //涉及对服务器上文件读写,可能会抛出异常
                try
                {
                    //获取文件地址 
                    string path = AppDomain.CurrentDomain.BaseDirectory;
                    //测试时获取到的发布后的地址格式:D:\LamborPublic\LamborBackOfficeBLServicePublic\
                    //获取项目根目录的上一级目录(需修改文件夹目录于之同级)
                    int index = path.LastIndexOf("\");
                    path = path.Substring(0, index);
                    index = path.LastIndexOf("\");
                    path = path.Substring(0, index);
                    //生成指定站长的文件路径(本地测试需要构造测试环境———>在调用此方法的项目根目录同级添加Lambor.GameFrontEnd.MasterID文件夹,内部录入Index.html文件)
                    path = path + "\Lambor.GameFrontEnd." + MasterID + "\index.html";
                    //获取文件内容
                    Stream myStream = new FileStream(path, FileMode.Open,FileAccess.ReadWrite);
                    StreamReader myStreamReader = new StreamReader(myStream, Encoding.UTF8);
                    string strhtml = myStreamReader.ReadToEnd();
                    //正则
                    string pattern = string.Empty;
                    //修改站长前端网站的key,title, description
                    if (type == 1)
                    {
                        //标记添加块位置
                        int headIndex = -1;
                        //C# 使用正则匹配html的三个标签(存在则替换内容,不存在则新增内容)
                        //匹配修改title标签的正则表达式
                        if (ContentFillConent.UpdateType == 1)
                        {
                            if (strhtml.IndexOf("<title>") > -1)
                            {
                                pattern = @"<title>(?<str>.*?)</title>";
                                strhtml = Regex.Replace(strhtml, pattern, "<title>" + ContentFillConent.Title + "</title>");
                            }
                            else
                            {
                                //把数据添加到</head>之前
                                headIndex = strhtml.IndexOf("</head>");
                                strhtml = strhtml.Insert(headIndex, "<title>" + ContentFillConent.Title + "</title>");
                            }
                        }
             }
    myStream.Seek(0, SeekOrigin.Begin); myStream.SetLength(0); StreamWriter sw = new StreamWriter(myStream, Encoding.UTF8); sw.Write(strhtml); sw.Flush(); sw.Close(); myStream.Close(); ReqInfo.Ret = (int)ErrorRetType.SUCCESS; return ReqInfo; } catch (Exception ex) { ReqInfo.Ret = (int)ErrorRetType.COMM_FAIL; //寫入操作Log(对前端html5文件的操作) var TitleInfoList = new List<string>(); TitleInfoList.Add(MasterID.ToString()); BackOffice.Utility.OperatorLogUtility.WriteOperatorLog_Update(MasterID, MasterID, LamborDataModelLib.Model.Defines.ModifyType.UploadLamborFrontEndWeb_IndexContent, TitleInfoList); return ReqInfo; } }
  • 相关阅读:
    liunx 解压与压缩
    缓存设计与优化
    易混乱javascript知识点简要记录
    初识RedisCluster集群
    Redis Sentinel(哨兵模式)
    JavaScript作用域简单记录
    JavaScript引用类型简单记录
    redis主从复制初识
    javascript基础知识点
    持久化的一些问题
  • 原文地址:https://www.cnblogs.com/yxcn/p/12456241.html
Copyright © 2011-2022 走看看