본문 바로가기

C#/Network

C# Http Post File Upload

C# Http Post File Upload

 

 

private async void Button_Click(object sender, RoutedEventArgs e)
{
        OpenFileDialog dlg = new OpenFileDialog();
        dlg.Multiselect = true;
 
        if (dlg.ShowDialog() == true)
        {
            var result = await Upload(new List<string>(dlg.SafeFileNames), new List<string>(dlg.FileNames));
        
            MessageBox.Show(result ? "성공" : "실패");
        }
}
 
private async Task<bool> Upload(List<string> fileNames, List<string> filePaths)
{
    try
    {

        var url = "http://192.168.0.100/Home/UploadFiles";
        HttpClient httpClient = new HttpClient();
        
        MultipartFormDataContent form = new MultipartFormDataContent();
 
        //form.Add(new StringContent(id), "id");
 
        for (int i = 0; i < fileNames.Count; i++)
        {
            var fileName = fileNames[i];
            var filePath = filePaths[i];
 
            var file_bytes = File.ReadAllBytes(filePath);
 
            form.Add(new ByteArrayContent(file_bytes, 0, file_bytes.Length), "imagefile", fileName);
        }
 
        HttpResponseMessage response = await httpClient.PostAsync(url, form);
 
        response.EnsureSuccessStatusCode();
        httpClient.Dispose();
        string sd = response.Content.ReadAsStringAsync().Result;
 
        urlstring.Text = sd;
    }
    catch
    {
        return false;
    }
 
    return true;
}

'C# > Network' 카테고리의 다른 글

C# TCP Client  (0) 2020.08.14
C# Multi Thread TcpServer  (0) 2020.08.14
C# TCPServer with WebSocket  (0) 2020.08.13
C# UDP  (0) 2020.08.13
C# WOL 컴퓨터 원격 온오프  (0) 2020.08.07