zoukankan      html  css  js  c++  java
  • 重构代码2

    还有另外一段代码需要重构,原代码:

    public string file;//显示生成完成的swf文件
            protected void Button1_Click(object sender, EventArgs e)
            {
                string UploadFilePath = Server.MapPath(this.HiddenField1.Value);//保存上传的PDF或者其他可以打印的文件(DOC,DOCX等) /UploadFile/系统分析师通过的经验.doc
                string NewUploadFilePath = string.Empty;//转换WPS文件路径
                string ext = Path.GetExtension(UploadFilePath);
                if ((".wps,.et,.pps,.dps,.pps").Contains(ext))
                {
                    switch (ext)
                    {
                        case ".wps"://wps文件
                            NewUploadFilePath = Path.ChangeExtension(UploadFilePath, ".doc");
                            File.Move(UploadFilePath, NewUploadFilePath);
                            break;

                        case ".et"://wps的表格文件
                            NewUploadFilePath = Path.ChangeExtension(UploadFilePath, ".xls");
                            File.Move(UploadFilePath, NewUploadFilePath);
                            break;

                        case ".pps":
                        case ".dps":
                            NewUploadFilePath = Path.ChangeExtension(UploadFilePath, ".ppt");
                            File.Move(UploadFilePath, NewUploadFilePath);
                            break;
                    }
                    try
                    {
                        if (UploadFilePath != null)
                        {
                            string SwfFile = strType(UploadFilePath);//得到文件类型
                            if (SwfFile != null)
                            {
                                string file = NewUploadFilePath.Replace(SwfFile, ".swf");
                                if (!File.Exists(file))
                                {
                                    bool isconvert = ConvertPdfToSwf(NewUploadFilePath, file.Replace("UploadFile""SwfFolder"));//执行转换
                                    if (isconvert == true)
                                    {
                                        file = Path.GetFileName(file);
                                        string FlashView = "http://199.99.99.111:8011/FlashPrinter/Interface/FlashView.aspx";
                                        Response.Write(" <script> window.location.href= '" + FlashView + "?dFile=" + HttpUtility.UrlEncode(file) + "'; </script> ");
                                    }
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                        throw;
                    }

                }
                else
                {
                    try
                    {
                        if (UploadFilePath != null)
                        {
                            string SwfFile = strType(UploadFilePath);//转换后的文件后缀名
                            if (SwfFile != null)
                            {
                                string file = UploadFilePath.Replace(SwfFile, ".swf");
                                if (!File.Exists(file))
                                {
                                    bool isconvert = ConvertPdfToSwf(UploadFilePath, file.Replace("UploadFile""SwfFolder"));//执行转换
                                    if (isconvert == true)
                                    {
                                        file = Path.GetFileName(file);
                                        string FlashView = "http://199.99.99.111:8011/FlashPrinter/Interface/FlashView.aspx";
                                        Response.Write(" <script> window.location.href= '" + FlashView + "?dFile=" + HttpUtility.UrlEncode(file) + "'; </script> ");
                                    }
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                        throw;
                    }

                }
            }

    Insus.NET重构之后,主方法变为:

     public string file;//显示生成完成的swf文件
        protected void Button1_Click(object sender, EventArgs e)
        {
            string UploadFilePath = Server.MapPath(this.HiddenField1.Value);//保存上传的PDF或者其他可以打印的文件(DOC,DOCX等) /UploadFile/系统分析师通过的经验.doc
            
            string ext = Path.GetExtension(UploadFilePath);

            if (ExtensionType().ContainsKey(ext))
            {
                 MoveFile(ext, UploadFilePath);
            }
            else
            {
                ConvertFile(UploadFilePath);
            }
        }

    扩展类型:

    View Code
     private Dictionary<stringstring> ExtensionType()
        { 
             Dictionary<stringstring> ex_type = new Dictionary<stringstring>();
            ex_type.Add(".wps"".doc");
            ex_type.Add(".et"".xls");
            ex_type.Add(".pps"".ppt");
            ex_type.Add(".dps"".ppt");
            return ex_type;
        }

    MoveFile()方法:

    View Code
     private void MoveFile(string ext, string uploadFilePath)
        {
            string NewUploadFilePath = string.Empty;//转换WPS文件路径

            if (ExtensionType().ContainsKey(ext))
            {
                NewUploadFilePath = Path.ChangeExtension(uploadFilePath, ExtensionType()[ext].ToString());
                File.Move(uploadFilePath, NewUploadFilePath);
            }

            ConvertFile(NewUploadFilePath);
        }

    ConvertFile()方法:

    View Code
     private void ConvertFile(string uploadFilepath)
        {
            if (uploadFilepath == nullreturn;

            if (string.IsNullOrEmpty(strType(uploadFilepath))) return;

            string SwfFile = strType(uploadFilepath);
            string file = uploadFilepath.Replace(SwfFile, ".swf");
            if (!File.Exists(file)) return;

            try
            {
                bool isconvert = ConvertPdfToSwf(uploadFilepath, file.Replace("UploadFile""SwfFolder"));
                if (isconvert)
                {
                    file = Path.GetFileName(file);
                    string FlashView = "http://199.99.99.111:8011/FlashPrinter/Interface/FlashView.aspx";
                    Response.Write(" <script> window.location.href= '" + FlashView + "?dFile=" + HttpUtility.UrlEncode(file) + "'; </script> ");
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
  • 相关阅读:
    2017 五一 清北学堂 Day1模拟考试结题报告
    2973 枪毙
    2840 WIKIOI——评测
    解决magento保存产品时耗时很长的问题
    easyui-layout中的收缩层无法显示标题问题解决
    JAVA排序(一) Comparable接口
    C语言数据结构----栈与递归
    [置顶] SpecDD(混合的敏捷方法模型)主要过程概述
    Vim 实用技术,第 1 部分: 实用技巧(转)
    如何解决dns解析故障
  • 原文地址:https://www.cnblogs.com/insus/p/2700820.html
Copyright © 2011-2022 走看看