FileUp/Download

FileUpDownloader

Strap.FormControls.CommonLib.FileUpDownloader

์„ค์ •

App.config์— FileUp/Download URL ์„ค์ •

<appSettings>
  <add key="Test_FileUploadBaseUrl" value="http://192.168.0.158/webapi/FileUpDown/Upload"/>
  <add key="Test_FileDownloadBaseUrl" value="http://192.168.0.158/webapi/FileUpDown/Download"/>
</appSettings>

์ฐธ๊ณ ) Program.cs์—์„œ App.config์˜ ์„ค์ •๋œ ๊ฒฝ๋กœ๋ฅผ ์ „์—ญ์œผ๋กœ ์„ค์ •๋œ๋‹ค.

fileUploadUrl = System.Configuration.ConfigurationManager.AppSettings["Test_FileUploadBaseUrl"].ToString();
fileDownloadUrl = System.Configuration.ConfigurationManager.AppSettings["Test_FileDownloadBaseUrl"].ToString();

Common.Config.ProjectConfig.FileUploadUrl = fileUploadUrl;
Common.Config.ProjectConfig.FileDownloadUrl = fileDownloadUrl;

๊ตฌํ˜„

Upload Single File (With FileDialog)

public partial class AutoTemplateMain : StrapMainForm
{
    //ํŒŒ์ผ์—…๋กœ๋” ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
    private Strap.FormControls.CommonLib.FileUpDownloader _fud = new Strap.FormControls.CommonLib.FileUpDownloader();

    public AutoTemplateMain()
    {
        InitializeComponent();
    }
    public override void InitStrap()
    {
        base.InitStrap();
        //์—…๋กœ๋“œ ์™„๋ฃŒ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€
        fud.FileUploadComplated += Fud_FileUploadComplated;
        //์—…๋กœ๋“œ ProgressChanged ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€
        fud.FileUploadProgressChanged += Fud_FileUploadProgressChanged;
    }
    private void strapButton1_Click(object sender, EventArgs e)
    {
        //ํŒŒ์ผ ์—…๋กœ๋“œ ์„œ๋ฒ„์˜ "test01" ํด๋”์— ํŒŒ์ผ์ €์žฅ์„ ์„ค์ •๊ณ  OpenFileDialog๋ฅผ ์‹คํ–‰ํ•จ
        fud.Upload("test01");
    }
    private void Fud_FileUploadProgressChanged(object sender, Strap.FormControls.CommonLib.FileUploadProgressChangedEventArgs e)
    {
        progressBar1.Value = e.ProgressValue;
    }
    private void Fud_FileUploadComplated(object sender, Strap.FormControls.CommonLib.FileUploadComplatedEventArgs e)
    {
        strapButton1.Text = e.ReturnValue;
    }
}

Upload Multi File With FileDialog

private void strapButton1_Click(object sender, EventArgs e)
{
    FileUpDownloader fud = new FileUpDownloader();
    fud.MultiFileChanged += Fud_MultiFileChanged;
    var uploadFileList =  fud.UploadMultiWithDialog("UpdateFiles", "BPack*.dll;Run.exe|BPack*.dll;Run.exe");
    _updateList.UploadFiles(uploadFileList);
}

Download Multi File

์ €์žฅ๋œ ํ…Œ์ด๋ธ” ๋‚ด์šฉ ํŒŒ์ผ๋ช…๊ณผ ์„œ๋ฒ„์˜ ๊ฒฝ๋กœ
//์„œ๋ฒ„์˜ Rootํด๋”๋Š” "D:\AttachFiles\"๋กœ ์‹œ์Šคํ…œ๋‚ด์— ์„ค์ •๋˜์–ด ์žˆ์Œ

public void DownloadFiles()
{
    FileUpDownloader fud = new FileUpDownloader();
    List<FileDownloadModel> fileDownloadModels = new List<FileDownloadModel>();
    foreach (XxxModel model in SelectedModels)
    {
        fileDownloadModels.Add(
            new FileDownloadModel() { FileName =  model.FILE_NAME, //ํŒŒ์ผ๋ช… BPack.Carrying.App.dll 
                FileNameInServer = model.FILE_NAME_IN_SERVER, //์„œ๋ฒ„์˜ ๊ฒฝ๋กœ/ํŒŒ์ผ๋ช… UpdateFiles\20200421090229_9f22ce0b-c479-45c8-a515-85c957897196
                SavingPath = "D:\\test"}); //๋กœ์ปฌ์— ๋‹ค์šด๋กœ๋“œํ•  ๊ฒฝ๋กœ
    }
    fud.DownloadMulti(fileDownloadModels);
}

public class XxxModel
{
    public string FILE_NAME { get; set; } //ํŒŒ์ผ๋ช…
    public string FILE_NAME_IN_SERVER { get; set; } //์„œ๋ฒ„์— ์ €์žฅ๋œ ๊ฒฝ๋กœ/ํŒŒ์ผ๋ช…
}

Download Single File With FileDialog

public void DownloadFile()
{
    FileUpDownloader fud = new FileUpDownloader();
    FileDownloadModel fileDownloadModel = new FileDownloadModel()
    {
        FileName =  "BPack.Carrying.App.dll", //ํŒŒ์ผ๋ช… BPack.Carrying.App.dll 
        FileNameInServer = "UpdateFiles\20200421090229_9f22ce0b-c479-45c8-a515-85c957897196"  //์„œ๋ฒ„์˜ ๊ฒฝ๋กœ/ํŒŒ์ผ๋ช… UpdateFiles\20200421090229_9f22ce0b-c479-45c8-a515-85c957897196
    };
    fud.DownloadWithDialog(fileDownloadModel);
}

Last updated