{"id":6367,"date":"2024-03-14T04:09:51","date_gmt":"2024-03-14T04:09:51","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/"},"modified":"2025-08-02T02:43:47","modified_gmt":"2025-08-02T02:43:47","slug":"how-to-upload-files-using-formdata-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/","title":{"rendered":"C# File Upload with HttpClient FormData"},"content":{"rendered":"<p>Using FormData to upload files in C# can be achieved through the HttpClient class. Here is a simple example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">using<\/span> System;\r\n<span class=\"hljs-keyword\">using<\/span> System.Net.Http;\r\n<span class=\"hljs-keyword\">using<\/span> System.Threading.Tasks;\r\n\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Program<\/span>\r\n{\r\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">async<\/span> Task <span class=\"hljs-title\">Main<\/span>(<span class=\"hljs-params\"><span class=\"hljs-built_in\">string<\/span>[] args<\/span>)<\/span>\r\n    {\r\n        <span class=\"hljs-keyword\">using<\/span> (<span class=\"hljs-keyword\">var<\/span> client = <span class=\"hljs-keyword\">new<\/span> HttpClient())\r\n        {\r\n            <span class=\"hljs-keyword\">using<\/span> (<span class=\"hljs-keyword\">var<\/span> formData = <span class=\"hljs-keyword\">new<\/span> MultipartFormDataContent())\r\n            {\r\n                <span class=\"hljs-comment\">\/\/ \u6dfb\u52a0\u8981\u4e0a\u4f20\u7684\u6587\u4ef6<\/span>\r\n                <span class=\"hljs-keyword\">var<\/span> fileContent = <span class=\"hljs-keyword\">new<\/span> ByteArrayContent(System.IO.File.ReadAllBytes(<span class=\"hljs-string\">\"path\/to\/file\"<\/span>));\r\n                fileContent.Headers.Add(<span class=\"hljs-string\">\"Content-Type\"<\/span>, <span class=\"hljs-string\">\"application\/octet-stream\"<\/span>);\r\n                formData.Add(fileContent, <span class=\"hljs-string\">\"file\"<\/span>, <span class=\"hljs-string\">\"filename.txt\"<\/span>);\r\n\r\n                <span class=\"hljs-comment\">\/\/ \u53d1\u9001POST\u8bf7\u6c42<\/span>\r\n                <span class=\"hljs-keyword\">var<\/span> response = <span class=\"hljs-keyword\">await<\/span> client.PostAsync(<span class=\"hljs-string\">\"http:\/\/example.com\/upload\"<\/span>, formData);\r\n\r\n                <span class=\"hljs-keyword\">if<\/span> (response.IsSuccessStatusCode)\r\n                {\r\n                    Console.WriteLine(<span class=\"hljs-string\">\"\u6587\u4ef6\u4e0a\u4f20\u6210\u529f\"<\/span>);\r\n                }\r\n                <span class=\"hljs-keyword\">else<\/span>\r\n                {\r\n                    Console.WriteLine(<span class=\"hljs-string\">\"\u6587\u4ef6\u4e0a\u4f20\u5931\u8d25\"<\/span>);\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the code above, a HttpClient object is first created, and a FormData object is created using MultipartFormDataContent. The content of the file to be uploaded is then read using ByteArrayContent and added to the FormData. Finally, the file is uploaded by sending a POST request using the PostAsync method.<\/p>\n<p>It is important to note that, in actual usage, you need to replace &#8220;path\/to\/file&#8221; and &#8220;http:\/\/example.com\/upload&#8221; with the specific file path and upload interface address.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using FormData to upload files in C# can be achieved through the HttpClient class. Here is a simple example code: using System; using System.Net.Http; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { using (var client = new HttpClient()) { using (var formData = new MultipartFormDataContent()) { \/\/ \u6dfb\u52a0\u8981\u4e0a\u4f20\u7684\u6587\u4ef6 var fileContent = new [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[274,2891,7634,7419,7636],"class_list":["post-6367","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c","tag-file-upload","tag-formdata","tag-httpclient","tag-multipartformdatacontent"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C# File Upload with HttpClient FormData - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to upload files in C# using HttpClient and FormData. Step-by-step code example for multipart form data uploads.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C# File Upload with HttpClient FormData\" \/>\n<meta property=\"og:description\" content=\"Learn how to upload files in C# using HttpClient and FormData. Step-by-step code example for multipart form data uploads.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T04:09:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-02T02:43:47+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Carter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"C# File Upload with HttpClient FormData\",\"datePublished\":\"2024-03-14T04:09:51+00:00\",\"dateModified\":\"2025-08-02T02:43:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/\"},\"wordCount\":106,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"c#\",\"File Upload\",\"FormData\",\"HttpClient\",\"MultipartFormDataContent\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/\",\"name\":\"C# File Upload with HttpClient FormData - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T04:09:51+00:00\",\"dateModified\":\"2025-08-02T02:43:47+00:00\",\"description\":\"Learn how to upload files in C# using HttpClient and FormData. Step-by-step code example for multipart form data uploads.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C# File Upload with HttpClient FormData\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C# File Upload with HttpClient FormData - Blog - Silicon Cloud","description":"Learn how to upload files in C# using HttpClient and FormData. Step-by-step code example for multipart form data uploads.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/","og_locale":"en_US","og_type":"article","og_title":"C# File Upload with HttpClient FormData","og_description":"Learn how to upload files in C# using HttpClient and FormData. Step-by-step code example for multipart form data uploads.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T04:09:51+00:00","article_modified_time":"2025-08-02T02:43:47+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"C# File Upload with HttpClient FormData","datePublished":"2024-03-14T04:09:51+00:00","dateModified":"2025-08-02T02:43:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/"},"wordCount":106,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["c#","File Upload","FormData","HttpClient","MultipartFormDataContent"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/","name":"C# File Upload with HttpClient FormData - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T04:09:51+00:00","dateModified":"2025-08-02T02:43:47+00:00","description":"Learn how to upload files in C# using HttpClient and FormData. Step-by-step code example for multipart form data uploads.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-upload-files-using-formdata-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C# File Upload with HttpClient FormData"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=6367"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6367\/revisions"}],"predecessor-version":[{"id":151127,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6367\/revisions\/151127"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=6367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=6367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=6367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}