Esempio n. 1
0
        static public void do_upload(string site_name)
        {
            var site = getWebSite(site_name);

            Console.WriteLine("上傳至" + site_name);
            Console.WriteLine("URL:" + site.DeployUrl);

            var upgrade_folder = P_Local_Upgrade_Folder;
            var deploy_url     = new FdpWebFolder(site.DeployUrl);

            var folder = new DirectoryInfo(upgrade_folder);

            //Search Last Folder
            var folder_upload = folder.GetDirectories()
                                .Where(x => site.Package_PrefixFileName.isNullOrEmpty() ? true : x.Name.StartsWith(site.Package_PrefixFileName))
                                .OrderByDescending(x => x.LastWriteTime)
                                .FirstOrDefault();

            if (folder_upload == null)
            {
                return;
            }

            var file_upload_zip = folder + @"\" + folder_upload.Name + ".zip";

            if (File.Exists(file_upload_zip))
            {
                File.Delete(file_upload_zip);
            }

            //壓縮檔案
            Console.WriteLine(">>壓縮檔案:" + file_upload_zip);
            FtdIoHelper.zipFile(folder_upload.FullName, file_upload_zip);

            Console.WriteLine(">>上傳檔案:" + file_upload_zip);
            deploy_url.upload_file(file_upload_zip, (pack_count, pack_upload, pack_size) =>
            {
                var percent = (pack_upload * 100) / pack_count;
                var size    = FtdIoHelper.toFileSizeName(pack_upload * pack_size);
                Console.WriteLine("Percent:" + percent + "%, UploadSize=" + size);
            });

            Console.WriteLine(">>上傳完成:" + file_upload_zip);
        }