コード例 #1
0
        /// <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();
            }
        }
コード例 #2
0
        /// <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();
            }
        }
コード例 #3
0
        /// <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);
        }