コード例 #1
0
ファイル: DocumentService.cs プロジェクト: wpmyj/WebServer
        /// <summary>
        /// 文件转换
        /// </summary>
        public Status convertFile(int agendaID)
        {
            FileDAO fileDao = Factory.getInstance <FileDAO>();
            Dictionary <string, object> wherelist = new System.Collections.Generic.Dictionary <string, object>();

            wherelist.Add("agendaID", agendaID);

            var files = fileDao.getAll <FileVO>(wherelist);

            try
            {
                if (files != null)
                {
                    string saveDir         = GetSaveDir();
                    string htmlDir         = GetHtmlDir();
                    string htmlRelativeDir = GetHtmlRelativeDir();

                    foreach (var file in files)
                    {
                        string fileName   = file.filePath;
                        string sourcePath = saveDir + fileName;

                        string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fileName);
                        string targetDir  = htmlDir + fileNameWithoutExtension + separator;
                        string targetPath = targetDir + fileNameWithoutExtension + ".html";

                        FileInfo fi = new System.IO.FileInfo(targetPath);
                        if (fi.Exists)
                        {
                            continue;
                        }

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

                        string targetRelativeDirectory = htmlRelativeDir + fileNameWithoutExtension + separator;

                        if (!FileConvert.run(sourcePath, targetPath, targetRelativeDirectory))
                        {
                            fileDao.delete(file.fileID);
                            throw new Exception("文件转换失败");
                        }
                    }
                }
            }
            catch (System.Exception e)
            {
                Log.LogInfo("文件转换失败", e);
                return(Status.FILE_CONVERT_FAIL);
            }

            return(Status.SUCCESS);
        }