/// <summary> /// Upload File /// </summary> private void UploadFileStripButton_Click(object sender, EventArgs e) { OpenFileDialog upfile = new OpenFileDialog(); MongoDBHelper.UpLoadFileOption opt = new MongoDBHelper.UpLoadFileOption(); if (upfile.ShowDialog() == System.Windows.Forms.DialogResult.OK) { frmGFSOption frm = new frmGFSOption(); SystemManager.OpenForm(frm, false); opt.FileNameOpt = frm.filename; opt.AlreadyOpt = frm.option; opt.DirectorySeparatorChar = frm.DirectorySeparatorChar; frm.Dispose(); MongoDBHelper.UpLoadFile(upfile.FileName, opt); RefreshGUI(); } }
/// <summary> /// 上传文件夹 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UpLoadFolderStripButton_Click(object sender, EventArgs e) { FolderBrowserDialog upfolder = new FolderBrowserDialog(); MongoDBHelper.UpLoadFileOption opt = new MongoDBHelper.UpLoadFileOption(); if (upfolder.ShowDialog() == DialogResult.OK) { frmGFSOption frm = new frmGFSOption(); SystemManager.OpenForm(frm, false); opt.FileNameOpt = frm.filename; opt.AlreadyOpt = frm.option; opt.IgnoreSubFolder = frm.ignoreSubFolder; opt.DirectorySeparatorChar = frm.DirectorySeparatorChar; frm.Dispose(); DirectoryInfo uploadDir = new DirectoryInfo(upfolder.SelectedPath); int count = 0; UploadFolder(uploadDir, ref count, opt); MyMessageBox.ShowMessage("Upload", "Upload Completed! Upload Files Count: " + count.ToString()); RefreshGUI(); } }
/// <summary> /// /// </summary> /// <param name="uploadDir"></param> /// <param name="fileCount"></param> /// <param name="opt"></param> /// <returns>是否继续执行后续的所有操作</returns> private Boolean UploadFolder(DirectoryInfo uploadDir, ref int fileCount, MongoDBHelper.UpLoadFileOption opt) { foreach (FileInfo file in uploadDir.GetFiles()) { MongoDBHelper.UploadResult rtn = MongoDBHelper.UpLoadFile(file.FullName, opt); switch (rtn) { case MongoDBHelper.UploadResult.Complete: fileCount++; break; case MongoDBHelper.UploadResult.Skip: if (opt.AlreadyOpt == MongoDBHelper.enumGFSAlready.Stop) { ///这个操作返回为False,停止包括父亲过程在内的所有操作 return(false); } break; case MongoDBHelper.UploadResult.Exception: return(MyMessageBox.ShowConfirm("Upload Exception", "Is Continue?")); default: break; } } if (!opt.IgnoreSubFolder) { foreach (DirectoryInfo dir in uploadDir.GetDirectories()) { ///递归文件夹操作,如果下层有任何停止的意愿,则立刻停止,并且使上层也立刻停止 Boolean IsContinue = UploadFolder(dir, ref fileCount, opt); if (!IsContinue) { return(false); } } } return(true); }