public static FileType GetFileTypeByExtention(string ext) { ext = ext.ToLower(); if (ArchiveExts.Contains(ext)) { return(FileType.Archive); } if (VideoExts.Contains(ext)) { return(FileType.Video); } if (AudioExts.Contains(ext)) { return(FileType.Audio); } if (ImageExts.Contains(ext)) { return(FileType.Image); } if (SpreadsheetExts.Contains(ext)) { return(FileType.Spreadsheet); } if (PresentationExts.Contains(ext)) { return(FileType.Presentation); } if (DocumentExts.Contains(ext)) { return(FileType.Document); } return(FileType.Unknown); }
// 文件添加 private void FileListAdd(FileInfo file) { AppFileType fileType; if (VideoExts.Contains(file.Extension.ToString().ToLower())) { fileType = AppFileType.Video; } else if (SubExts.Contains(file.Extension.ToString().ToLower())) { fileType = AppFileType.Sub; } else { return; } var vsItem = new VsItem(); if (fileType == AppFileType.Video) { if (VsList.Exists(o => o.Video == file.FullName)) { return; // 重名排除 } vsItem.Video = file.FullName; } else if (fileType == AppFileType.Sub) { if (VsList.Exists(o => o.Sub == file.FullName)) { return; } vsItem.Sub = file.FullName; } vsItem.Status = VsStatus.Unmatched; VsList.Add(vsItem); }
public static void OpenFile(AppFileType FileType, Action <string, AppFileType> opened) { using (var fbd = new CommonOpenFileDialog()) { if (FileType == AppFileType.Video) { fbd.Filters.Add(new CommonFileDialogFilter("视频文件", string.Join(";", VideoExts.ToList()))); } else if (FileType == AppFileType.Sub) { fbd.Filters.Add(new CommonFileDialogFilter("字幕文件", string.Join(";", SubExts.ToList()))); } fbd.Filters.Add(new CommonFileDialogFilter("视频或字幕文件", string.Join(";", VideoExts.Concat(SubExts).ToList()))); fbd.Filters.Add(new CommonFileDialogFilter("任何类型", "*.*")); var result = fbd.ShowDialog(); if (result == CommonFileDialogResult.Ok && !string.IsNullOrWhiteSpace(fbd.FileName)) { var fileName = Path.GetFileName(fbd.FileName.Trim()); opened(fileName, FileType); } } }
// 导入 文件 private void OpenFile() { using (var fbd = new CommonOpenFileDialog() { Multiselect = true, }) { fbd.Filters.Add(new CommonFileDialogFilter("视频或字幕文件", string.Join(";", VideoExts.Concat(SubExts).ToList()))); var result = fbd.ShowDialog(); if (result == CommonFileDialogResult.Ok && fbd.FileNames.Count() > 0) { SwitchPreview(false); foreach (var fileName in fbd.FileNames) { FileListAdd(new FileInfo(fileName)); } MatchVideoSub(); } } }