示例#1
0
        /// <summary>
        /// Gets the QuickTags object for this component.
        /// </summary>
        /// <param name="name">not used here</param>
        /// <returns>a Quick tags factory</returns>
        public virtual IQuickTagsFactory BuildQuickTagsFactory(string name)
        {
            IQuickTagsFactory quickTags = FileTypeManager.BuildQuickTagsFactory();

            quickTags.GetQuickTags(null).SetStandardQuickTags(QuickInsertBuilder.BuildStandardQuickTags());
            return(quickTags);
        }
示例#2
0
        public void IdentifyFileType_FileInfo_WhenFileInfoIsNull_Throws()
        {
            var handles         = CreateRecognizerHandles();
            var fileTypeManager = new FileTypeManager(handles);

            Assert.Throws <ArgumentNullException>(() => fileTypeManager.IdentifyFileType((FileInfo)null));
        }
示例#3
0
        public void GetFileTypeById_WhenIdIsNotKnown_ReturnsNull()
        {
            var handles         = CreateRecognizerHandles();
            var fileTypeManager = new FileTypeManager(handles);

            Assert.IsNull(fileTypeManager.GetFileTypeById("Type"));
        }
示例#4
0
        public void IdentifyFileType_FileInspectorWithCandidates_WhenFileInspectorIsNull_Throws()
        {
            var handles         = CreateRecognizerHandles();
            var fileTypeManager = new FileTypeManager(handles);

            Assert.Throws <ArgumentNullException>(() => fileTypeManager.IdentifyFileType((IFileInspector)null, new FileType[0]));
        }
示例#5
0
        public void GetFileTypeById_WhenIdIsNull_Throws()
        {
            var handles         = CreateRecognizerHandles();
            var fileTypeManager = new FileTypeManager(handles);

            Assert.Throws <ArgumentNullException>(() => fileTypeManager.GetFileTypeById(null));
        }
示例#6
0
        public frmMain()
        {
            InitializeComponent();

            CoreUtility.Initialize();
            CoreUtility.CheckAndFixCulture();

            m_renderer = (MapSurfer.Rendering.Renderer)MapSurfer.Rendering.RendererManager.CreateDefaultInstance();

            m_mapViewer                  = new MapViewer();
            m_mapViewer.Dock             = DockStyle.Fill;
            m_mapViewer.RedrawOnAttach   = true;
            m_mapViewer.ActiveTool       = MapTool.Zoom;
            m_mapViewer.RedrawOnResizing = true;
            this.Controls.Add(m_mapViewer);

            // Initialize file types
            FileTypeManager <Map> ftmMap = FileTypeManagerCache.GetFileTypeManager <Map>();

            ftmMap.AddSearchPath(typeof(Map).Assembly.GetLocation());
            ftmMap.AddSearchPath(MSNEnvironment.GetFolderPath(MSNSpecialFolder.StylingFormats));
            ftmMap.InitializeFileTypes();

            // Load map project
            string fileName = Path.Combine(MSNUtility.GetMSNInstallPath(), @"Samples\Data\Projects\Andora.msnpx");

            if (File.Exists(fileName))
            {
                LoadProject(fileName);

                Envelope env = new Envelope(978779.133679862, 6990983.0938755, 990289.718456316, 6997278.67914107); //map.Extent
                m_mapViewer.ZoomToEnvelope(env);
            }
        }
示例#7
0
        public void IdentifyFileType_FileInspectorWithCandidates_WhenCandidatesIsNull_Throws()
        {
            var handles         = CreateRecognizerHandles();
            var fileTypeManager = new FileTypeManager(handles);

            Assert.Throws <ArgumentNullException>(() => fileTypeManager.IdentifyFileType(MockRepository.GenerateStub <IFileInspector>(), null));
        }
示例#8
0
        public void IdentifyFileType_FileInfoWithCandidates_WhenCandidatesIsNull_Throws()
        {
            var handles         = CreateRecognizerHandles();
            var fileTypeManager = new FileTypeManager(handles);

            Assert.Throws <ArgumentNullException>(() => fileTypeManager.IdentifyFileType(new FileInfo(@"C:\"), null));
        }
示例#9
0
        void OnAssignTypeGUI()
        {
            EditorGUILayout.LabelField("NameSpace:");
            string[] nameSpaces = FileTypeManager.NameSpaces;
            int      index      = EditorGUILayout.Popup(0, nameSpaces);

            EditorGUILayout.LabelField("Element:");
            string[] elements = FileTypeManager.GetElement(nameSpaces[index]);
            int      index2   = EditorGUILayout.Popup(0, elements);

            if (GUILayout.Button("Create"))
            {
                DataSetConfig config;
                if (ConfigManager.GetConfig(nameSpaces[index], out config))
                {
                    model.NameSpace = nameSpaces[index];
                    model.element   = elements[index2];
                    model.version   = config.version;
                    AssetDatabase.SetLabels(model, new string[] { model.element + "@" + model.NameSpace });
                    EditorUtility.SetDirty(model);
                    OnEnable();
                }
                else
                {
                    EditorUtility.DisplayDialog("Error", "The config of namespace " + nameSpaces[index] + "not found, please make sure relative xsd exists.", "Ok");
                }
            }
        }
        /// <summary>
        /// Gets the file extractor for this component.
        /// </summary>
        /// <param name="name">not used here</param>
        /// <returns>a FileExtractor containing an Bil Parser</returns>
        public IFileExtractor BuildFileExtractor(string name)
        {
            var parser    = new TxmlParser();
            var extractor = FileTypeManager.BuildFileExtractor(parser, this);

            return(extractor);
        }
示例#11
0
        public void IdentifyFileType_FileInspector_WhenMatchCriteriaAreVaried_ReturnsTypeIfMatchedOrUnknownOtherwise(string fileNameRegex, string contentsRegex, bool recognizerResult,
                                                                                                                     bool expectedMatch)
        {
            var inspector = new FakeFileInspector()
            {
                FileInfo = new FileInfo(@"C:\file.txt"),
                Contents = "contents"
            };
            var recognizer = MockRepository.GenerateStub <IFileTypeRecognizer>();

            recognizer.Stub(x => x.IsRecognizedFile(inspector)).Return(recognizerResult);
            var handles = CreateRecognizerHandles(
                new RecognizerInfo
            {
                Traits = new FileTypeRecognizerTraits("TypeA", "A")
                {
                    FileNameRegex = fileNameRegex,
                    ContentsRegex = contentsRegex
                },
                Recognizer = recognizer
            });
            var fileTypeManager = new FileTypeManager(handles);

            FileType fileType = fileTypeManager.IdentifyFileType(inspector);

            Assert.AreEqual(expectedMatch ? "TypeA" : "Unknown", fileType.Id);
        }
示例#12
0
    /// <summary>
    /// 保存
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void imgbtnSave_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            //获得文件正确的地址
            string fullPath = this.lblFilePath.Text.ToString().Trim().Replace("/", Path.AltDirectorySeparatorChar.ToString());

            if (!Directory.Exists(fullPath))
            {
                Directory.CreateDirectory(fullPath);
            }
            string filePath = fullPath.Replace(IniFile.IniReadValue(((User)Session["Login"]).UserId), "") + this.fuFile.FileName;
            MyOffice.Models.FileInfo file = new MyOffice.Models.FileInfo();
            file.FileName   = this.txtFileName.Text;
            file.IfDelete   = 0;
            file.FileType   = FileTypeManager.GetFileTypeById(Convert.ToInt32(this.rboFileIcoList.SelectedValue));
            file.FileOwner  = ((User)Session["Login"]);
            file.Remark     = this.txtRemark.Text;
            file.CreateDate = DateTime.Now;
            file.ParentId   = Convert.ToInt32(Request.QueryString["parentId"]);
            file.FilePath   = filePath;

            fuFile.SaveAs(fullPath + this.fuFile.FileName);

            FileInfoManager.AddFile(file);

            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('添加成功!');location='FileMain.aspx?fileId=" + Request.QueryString["parentId"] + "';</script>");
        }
        catch (Exception ex)
        {
            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('添加失败!');location='FileMain.aspx?fileId=" + Request.QueryString["parentId"] + "';</script>");
        }
    }
示例#13
0
        /// <summary>
        /// Gets the file generator for this component.
        /// </summary>
        /// <param name="name">not used herer</param>
        /// <returns><c>Null</c> if no file generator is defined</returns>
        public virtual IFileGenerator BuildFileGenerator(string name)
        {
            var writer    = new SimpleTextWriter();
            var generator = FileTypeManager.BuildFileGenerator(FileTypeManager.BuildNativeGenerator(writer));

            generator.AddFileTweaker(new SimpleFilePostTweaker());
            return(generator);
        }
示例#14
0
        public void GetFileTypeById_WhenIdIsTheUnknownFileTypeId_ReturnsUnknownFileType()
        {
            var handles = CreateRecognizerHandles();
            var fileTypeManager = new FileTypeManager(handles);

            FileType fileType = fileTypeManager.GetFileTypeById("Unknown");
            Assert.AreSame(fileTypeManager.UnknownFileType, fileType);
        }
示例#15
0
 /// <summary>
 /// 绑定文件类型的RadioButtonList
 /// </summary>
 private void BindRL()
 {
     this.rboFileIcoList.DataSource           = FileTypeManager.GetAllFileType();
     this.rboFileIcoList.DataTextField        = "fileTypeImage";
     this.rboFileIcoList.DataTextFormatString = "&nbsp;<img  style=' vertical-align:middle' src='{0}'/>";
     this.rboFileIcoList.DataValueField       = "FileTypeId";
     this.rboFileIcoList.DataBind();
 }
示例#16
0
        public void GetFileTypeById_WhenIdIsKnown_ReturnsFileType()
        {
            var handles = CreateRecognizerHandles(
                new RecognizerInfo { Traits = new FileTypeRecognizerTraits("Type", "A file type.") });
            var fileTypeManager = new FileTypeManager(handles);

            FileType fileType = fileTypeManager.GetFileTypeById("Type");
            Assert.AreEqual("Type", fileType.Id);
            Assert.AreEqual("A file type.", fileType.Description);
        }
示例#17
0
        /// <summary>
        /// Gets the file extractor for this component.
        /// </summary>
        /// <param name="name">not used here</param>
        /// <returns>a FileExtractor containing an Simple Text Parser</returns>
        public virtual IFileExtractor BuildFileExtractor(string name)
        {
            var parser = new SimpleTextParser
            {
                LockPrdCodes = true
            };
            var extractor = FileTypeManager.BuildFileExtractor(FileTypeManager.BuildNativeExtractor(parser), this);

            extractor.AddFileTweaker(new SimpleFilePreTweaker {
                RequireValidEncoding = false
            });
            return(extractor);
        }
示例#18
0
        public void UnknownFileType_ReturnsAFileTypeCalledUnknown()
        {
            var handles         = CreateRecognizerHandles();
            var fileTypeManager = new FileTypeManager(handles);

            FileType fileType = fileTypeManager.UnknownFileType;

            Assert.Multiple(() =>
            {
                Assert.AreEqual("Unknown", fileType.Id);
                Assert.AreEqual("File of unknown type.", fileType.Description);
                Assert.IsNull(fileType.SuperType);
            });
        }
示例#19
0
        static void LogException(object sender, UnhandledExceptionEventArgs e)
        {
            if (!(e.ExceptionObject is Exception))
            {
                LoggingManager.SendError("APPCRASH - UNABLE TO PROVIDE CRASH INFORMATION");
                return;
            }
            var exp = (Exception)e.ExceptionObject;

            LoggingManager.SendError("APPCRASH");
            LoggingManager.SendMessage("PlugIns in use:\n{0}", FileTypeManager.GetPluginListing());
            LoggingManager.SendMessage("Mod info:\n{0}", ModManager.GetDebugInfo());
            LoggingManager.HandleException(exp);
            LoggingManager.SendMessage("END OF APPCRASH INFO");
            UIHelper.ShowError("Application crashed! Please post your Logfile on the RelicNews forums!");
        }
        /// <summary>
        /// Returns a file type information object.
        /// </summary>
        /// <param name="name">The <see cref="IFileTypeDefinition"/> will pass "" as the name for this parameter</param>
        /// <returns>an SimpleText file type information object</returns>
        public IFileTypeInformation BuildFileTypeInformation(string name)
        {
            var info = FileTypeManager.BuildFileTypeInformation();

            info.FileTypeDefinitionId         = new FileTypeDefinitionId(GetAssemblyVersion());
            info.FileTypeName                 = new LocalizableString("XML: WordFast TXML");
            info.FileTypeDocumentName         = new LocalizableString("TXML Document");
            info.FileTypeDocumentsName        = new LocalizableString("TXML Documents");
            info.Description                  = new LocalizableString("TXML documents, as generated by WordFast Professional. Documents may be untranslated, partially or fully translated.");
            info.FileDialogWildcardExpression = "*.txml";
            info.DefaultFileExtension         = "*.txml";
            info.Icon    = new IconDescriptor(PluginResources.icon);
            info.Enabled = true;

            return(info);
        }
        /// <summary>
        /// Returns a file type information object.
        /// </summary>
        /// <param name="name">The <see cref="IFileTypeDefinition"/> will pass "" as the name for this parameter</param>
        /// <returns>an SimpleText file type information object</returns>
        public IFileTypeInformation BuildFileTypeInformation(string name)
        {
            var info = FileTypeManager.BuildFileTypeInformation();

            info.FileTypeDefinitionId         = new FileTypeDefinitionId("BIL File Type 1.0.0.0");
            info.FileTypeName                 = new LocalizableString("Bilingual Sample File");
            info.FileTypeDocumentName         = new LocalizableString("Bilingual XML Documen");
            info.FileTypeDocumentsName        = new LocalizableString("Bilingual XML Documents");
            info.Description                  = new LocalizableString("Bilingual document format created for this SDK");
            info.FileDialogWildcardExpression = "*.bil";
            info.DefaultFileExtension         = "bil";
            info.Icon    = new IconDescriptor(PluginResources.bil);
            info.Enabled = true;

            return(info);
        }
        /// <summary>
        /// Returns a file type information object.
        /// </summary>
        /// <param name="name">The <see cref="IFileTypeDefinition"/> will pass "" as the name for this parameter</param>
        /// <returns>an SimpleText file type information object</returns>
        public IFileTypeInformation BuildFileTypeInformation(string name)
        {
            var fileTypeDetails = new FiletypeDetails();
            var info            = FileTypeManager.BuildFileTypeInformation();

            info.FileTypeDefinitionId         = new FileTypeDefinitionId("Transit File Type 1.0.0.0");
            info.FileTypeName                 = new LocalizableString("Transit bilingual documents");
            info.FileTypeDocumentName         = new LocalizableString("Transit Document");
            info.FileTypeDocumentsName        = new LocalizableString("Transit Documents");
            info.Description                  = new LocalizableString("Documents, as generated by Transit. Documents may be untranslated, partially or fully translated.");
            info.FileDialogWildcardExpression = fileTypeDetails.FileExtensions;
            info.DefaultFileExtension         = fileTypeDetails.FileExtensions;
            info.Icon    = new IconDescriptor(PluginResources.bil);
            info.Enabled = true;

            return(info);
        }
示例#23
0
        /// <summary>
        /// Gets a native or bilingual document generator of the type
        /// defined for the specified name.
        /// </summary>
        /// <param name="name">Abstract generator name</param>
        /// <returns>not generator for default preview</returns>
        public virtual IAbstractGenerator BuildAbstractGenerator(string name)
        {
            if (name == "Generator_DefaultPreview")
            {
                return(FileTypeManager.BuildFileGenerator(FileTypeManager.BuildNativeGenerator(new SimpleTextWriter())));
            }
            if (name == "Generator_StaticPreview")
            {
                return(FileTypeManager.BuildFileGenerator(FileTypeManager.BuildNativeGenerator(new SimpleTextWriter())));
            }
            if (name == "Generator_RealTimePreview")
            {
                return(FileTypeManager.BuildFileGenerator(FileTypeManager.BuildNativeGenerator(new InternalPreviewWriter())));
            }

            return(null);
        }
示例#24
0
        public void IdentifyFileType_FileInspectorWithCandidates_WhenMatchCriteriaAndCandidatesAreVaried_ReturnsTypeIfMatchedOrUnknownOtherwise(
            bool includeSupertypeAsCandidate, bool includeSubtypeAsCandidate,
            bool superRecognizerResult, bool subRecognizerResult,
            string expectedMatchType)
        {
            var inspector = new FakeFileInspector()
            {
                FileInfo = new FileInfo(@"C:\file.txt"),
                Contents = "contents"
            };
            var superRecognizer = MockRepository.GenerateStub <IFileTypeRecognizer>();

            superRecognizer.Stub(x => x.IsRecognizedFile(inspector)).Return(superRecognizerResult);
            var subRecognizer = MockRepository.GenerateStub <IFileTypeRecognizer>();

            subRecognizer.Stub(x => x.IsRecognizedFile(inspector)).Return(subRecognizerResult);
            var handles = CreateRecognizerHandles(
                new RecognizerInfo
            {
                Traits     = new FileTypeRecognizerTraits("SuperType", "Super"),
                Recognizer = superRecognizer
            },
                new RecognizerInfo
            {
                Traits = new FileTypeRecognizerTraits("SubType", "Sub")
                {
                    SuperTypeId = "SuperType"
                },
                Recognizer = subRecognizer
            });
            var fileTypeManager = new FileTypeManager(handles);
            var candidates      = new List <FileType>();

            if (includeSupertypeAsCandidate)
            {
                candidates.Add(fileTypeManager.GetFileTypeById("SuperType"));
            }
            if (includeSubtypeAsCandidate)
            {
                candidates.Add(fileTypeManager.GetFileTypeById("SubType"));
            }

            FileType fileType = fileTypeManager.IdentifyFileType(inspector, candidates);

            Assert.AreEqual(expectedMatchType, fileType.Id);
        }
        public IFileExtractor BuildFileExtractor(string name)
        {
            var parser = new PoFileParser(
                new FileHelper(),
                new LineParser(),
                new SegmentSettings(),
                new ParagraphUnitFactory(),
                new EntryBuilder());

            var fileExtractor = FileTypeManager.BuildFileExtractor(parser, this);

            var processor = new RegexEmbeddedBilingualProcessor(
                new EmbeddedContentVisitor(),
                new EmbeddedContentRegexSettings(),
                new TextProcessor());

            fileExtractor.AddBilingualProcessor(processor);

            return(fileExtractor);
        }
        public IFileTypeInformation BuildFileTypeInformation(string name)
        {
            var info = FileTypeManager.BuildFileTypeInformation();

            info.FileTypeDefinitionId         = new FileTypeDefinitionId("PO file type 1.7.0.0");
            info.FileTypeName                 = new LocalizableString(PoFileTypeResources.Po_File);
            info.FileTypeDocumentName         = new LocalizableString(PoFileTypeResources.Po_File);
            info.FileTypeDocumentsName        = new LocalizableString(PoFileTypeResources.Po_Files);
            info.Description                  = new LocalizableString(PoFileTypeResources.Po_File_Filter_Description);
            info.FileDialogWildcardExpression = "*.po";
            info.DefaultFileExtension         = "po";
            info.Icon = new IconDescriptor(PoFileTypeResources.PoFileIcon);

            info.WinFormSettingsPageIds = new[]
            {
                "PoFile_Segment_Settings",
                "Community_Embeddded_Content_Processor_Settings"
            };

            return(info);
        }
示例#27
0
        /// <summary>
        /// Returns a file type information object.
        /// </summary>
        /// <param name="name">The <see cref="IFileTypeDefinition"/> will pass "" as the name for this parameter</param>
        /// <returns>an SimpleText file type information object</returns>
        public virtual IFileTypeInformation BuildFileTypeInformation(string name)
        {
            var info = FileTypeManager.BuildFileTypeInformation();

            info.FileTypeDefinitionId         = new FileTypeDefinitionId("Simple Text Filter 1.0.0.0");
            info.FileTypeName                 = new LocalizableString("Simple text files");
            info.FileTypeDocumentName         = new LocalizableString("Test text files");
            info.FileTypeDocumentsName        = new LocalizableString("Simple text files");
            info.Description                  = new LocalizableString("This sample filter is used to process simple text files.");
            info.FileDialogWildcardExpression = "*.text";
            info.DefaultFileExtension         = "text";
            info.Icon = new IconDescriptor(PluginResources.SimpleTextIcon);

            info.WinFormSettingsPageIds = new string[]
            {
                "SimpleText_Settings",
                "QuickInserts_Settings",
            };

            return(info);
        }
示例#28
0
        public void IdentifyFileType_FileInspector_WhenContentsNotAvailable_ReturnsTypeOnlyIfNoContentCriteriaAndRecognizerMatches(
            bool contentCriteria, bool recognizerResult, bool expectedMatch)
        {
            var inspector = new FakeFileInspector();
            var recognizer = MockRepository.GenerateStub<IFileTypeRecognizer>();
            recognizer.Stub(x => x.IsRecognizedFile(inspector)).Return(recognizerResult);
            var handles = CreateRecognizerHandles(
                new RecognizerInfo
                {
                    Traits = new FileTypeRecognizerTraits("TypeA", "A")
                    {
                        ContentsRegex = contentCriteria ? ".*" : null
                    },
                    Recognizer = recognizer
                });
            var fileTypeManager = new FileTypeManager(handles);

            FileType fileType = fileTypeManager.IdentifyFileType(inspector);

            Assert.AreEqual(expectedMatch ? "TypeA" : "Unknown", fileType.Id);
        }
示例#29
0
        public void GetFileTypes_ReturnsListOfAllFileTypesIncludingUnknown()
        {
            var handles = CreateRecognizerHandles(
                new RecognizerInfo { Traits = new FileTypeRecognizerTraits("TypeA", "A") },
                new RecognizerInfo { Traits = new FileTypeRecognizerTraits("TypeB", "B") { SuperTypeId = "TypeC" } },
                new RecognizerInfo { Traits = new FileTypeRecognizerTraits("TypeC", "C") { SuperTypeId = "TypeD" } },
                new RecognizerInfo { Traits = new FileTypeRecognizerTraits("TypeD", "D") });
            var fileTypeManager = new FileTypeManager(handles);

            var expectedFileTypes = new FileType[5];
            expectedFileTypes[0] = new FileType("TypeA", "A", null);
            expectedFileTypes[3] = new FileType("TypeD", "D", null);
            expectedFileTypes[2] = new FileType("TypeC", "C", expectedFileTypes[3]);
            expectedFileTypes[1] = new FileType("TypeB", "B", expectedFileTypes[2]);
            expectedFileTypes[4] = fileTypeManager.UnknownFileType;

            IList<FileType> actualFileTypes = fileTypeManager.GetFileTypes();
            Assert.Over.KeyedPairs(
                expectedFileTypes.ToDictionary(x => x.Id),
                actualFileTypes.ToDictionary(x => x.Id),
                (x, y) => AssertEx.That(() => AreEquivalent(x, y)));
        }
示例#30
0
 /// <summary>
 /// 修改
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void imgbtnUpdate_Click(object sender, ImageClickEventArgs e)
 {
     MyOffice.Models.FileInfo file = FileInfoManager.GetFileByFileId(Convert.ToInt32(Request.QueryString["fileId"]));
     try
     {
         file.FileName = this.txtFileName.Text;
         file.FileType = FileTypeManager.GetFileTypeById(Convert.ToInt32(this.rboFileIcoList.SelectedValue));
         file.Remark   = this.txtRemark.Text;
         if (fuFile.FileName != null && !"".Equals(fuFile.FileName))
         {
             File.Delete(IniFile.IniReadValue(((MyOffice.Models.User)Session["Login"]).UserId) + file.FilePath);
             //获得此文件的上级文件夹   为了得到上级文件夹的路径,来保存新的文件
             MyOffice.Models.FileInfo parentFile = FileInfoManager.GetFileByFileId(file.ParentId);
             //新文件的路径  (判断上级是否为空)
             if (parentFile == null)
             {
                 file.FilePath = this.fuFile.FileName;
             }
             else
             {
                 file.FilePath = parentFile.FilePath + "\\" + this.fuFile.FileName;
             }
             fuFile.SaveAs(IniFile.IniReadValue(((MyOffice.Models.User)Session["Login"]).UserId) + file.FilePath);
             FileInfoManager.UpdateFileAndFilePath(file);
         }
         else
         {
             FileInfoManager.UpdateFile(file);
         }
         this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('修改成功!');location='FileDetails.aspx?fileId=" + file.FileId + "';</script>");
     }
     catch (Exception ex)
     {
         this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('修改失败!');location='FileDetails.aspx?fileId=" + file.FileId + "';</script>");
     }
 }