/// <summary> /// Upload File /// </summary> private void UploadFileStripButton_Click(object sender, EventArgs e) { var upfile = new OpenFileDialog(); var opt = new GFS.UpLoadFileOption(); if (upfile.ShowDialog() == DialogResult.OK) { var frm = new frmGFSOption(); SystemManager.OpenForm(frm, false, true); opt.FileNameOpt = frm.filename; opt.AlreadyOpt = frm.option; opt.DirectorySeparatorChar = frm.DirectorySeparatorChar; frm.Dispose(); GFS.UpLoadFile(upfile.FileName, opt); RefreshGUI(); } }
/// <summary> /// 上传文件夹 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UpLoadFolderStripButton_Click(object sender, EventArgs e) { var upfolder = new FolderBrowserDialog(); var opt = new GFS.UpLoadFileOption(); if (upfolder.ShowDialog() == DialogResult.OK) { var frm = new frmGFSOption(); SystemManager.OpenForm(frm, false, true); opt.FileNameOpt = frm.filename; opt.AlreadyOpt = frm.option; opt.IgnoreSubFolder = frm.ignoreSubFolder; opt.DirectorySeparatorChar = frm.DirectorySeparatorChar; frm.Dispose(); var uploadDir = new DirectoryInfo(upfolder.SelectedPath); int count = 0; UploadFolder(uploadDir, ref count, opt); MyMessageBox.ShowMessage("Upload", "Upload Completed! Upload Files Count: " + count); 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, GFS.UpLoadFileOption opt) { foreach (FileInfo file in uploadDir.GetFiles()) { GFS.UploadResult rtn = GFS.UpLoadFile(file.FullName, opt); switch (rtn) { case GFS.UploadResult.Complete: fileCount++; break; case GFS.UploadResult.Skip: if (opt.AlreadyOpt == GFS.enumGFSAlready.Stop) { ///这个操作返回为False,停止包括父亲过程在内的所有操作 return(false); } break; case GFS.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); }