Windows Forms: How to Upload Image To Server in C#
By FoxLearn 9/17/2020 5:11:39 AM 12.38K
Dragging PictureBox, Button, TextBox controls from the Visual Studio toolbox into your form designer, then design a simple UI allows you to display image to PictureBox, show image path to TextBox and upload image to server in c# as shown below.
How to call web api post method from windows application in c#
Right-clicking on your project, then select Manage Nuget Packages. Next, Search 'RestSharp', then download and install it.
You should create a web api allows you to upload file to web server. If you don't know how to create a web api you can view this post How to Upload files in ASP.NET Core Web API using C#.
Adding a click event handler to the Upload button allows you to upload an image to server in c#.
private async void btnUpload_Click(object sender, EventArgs e) { //c# open file dialog with image filters using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp; *.png)|*.jpg; *.jpeg; *.gif; *.bmp; *.png" }) { if (ofd.ShowDialog() == DialogResult.OK) { //c# display image in picture box pictureBox1.Image = new Bitmap(ofd.FileName); //c# show image file path txtFileName.Text = ofd.FileName; //c# upload image to web server using (var fileStream = File.Open(ofd.FileName, FileMode.Open)) { var client = new RestClient("http://localhost:11122/api/file/upload"); var request = new RestRequest(Method.POST); using (MemoryStream memoryStream = new MemoryStream()) { await fileStream.CopyToAsync(memoryStream); request.AddFile("file", memoryStream.ToArray(), ofd.FileName); request.AlwaysMultipartFormData = true; var response = await client.ExecuteAsync(request); if (response.StatusCode == System.Net.HttpStatusCode.OK) { dynamic json = JsonConvert.DeserializeObject(response.Content); string fileName = json.fileName; //Handling your code } } } } } }
If you want to get the filename when the file is uploaded to the server. You need to install RestSharp.Newtonsoft.Json from Manage Nuget Packages in your Visual Studio.
Through this post, i hope so you can understand how to upload image to server c# windows application via c# web api upload file with model asp.net core.