为了账号安全,请及时绑定邮箱和手机立即绑定

重构代码2

标签:
JavaScript

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

复制代码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);
        }
    }复制代码

 

扩展类型:

5acf071e0001405b00110016.jpgView Code  private Dictionary<string, string> ExtensionType()
    { 
         Dictionary<string, string> ex_type = new Dictionary<string, string>();
        ex_type.Add(".wps", ".doc");
        ex_type.Add(".et", ".xls");
        ex_type.Add(".pps", ".ppt");
        ex_type.Add(".dps", ".ppt");
        return ex_type;
    }

 

MoveFile()方法:

5acf071e0001405b00110016.jpgView 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()方法:

5acf071e0001405b00110016.jpgView Code  private void ConvertFile(string uploadFilepath)
    {
        if (uploadFilepath == null) return;

        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;
        }
    }

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消