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

        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重构之后,主方法变为:

    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);
        }
    }
扩展类型:

    { 
         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()方法:

    {
        string NewUploadFilePath = string.Empty;//转换WPS文件路径
        if (ExtensionType().ContainsKey(ext))
        {
            NewUploadFilePath = Path.ChangeExtension(uploadFilePath, ExtensionType()[ext].ToString());
            File.Move(uploadFilePath, NewUploadFilePath);
        }
        ConvertFile(NewUploadFilePath);
    }
ConvertFile()方法:

    {
        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;
        }
    }
共同学习,写下你的评论
评论加载中...
作者其他优质文章
 
                 
            
 
			 
					 
					