{"id":540,"date":"2016-06-02T22:42:27","date_gmt":"2016-06-02T22:42:27","guid":{"rendered":"http:\/\/zappysys.com\/blog\/?p=540"},"modified":"2025-10-23T22:47:38","modified_gmt":"2025-10-23T22:47:38","slug":"rest-api-file-upload-using-ssis-multi-part-post","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/","title":{"rendered":"REST API File Upload using SSIS (Multi Part POST)"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>In this post, you will learn how to use the\u00a0<a target=\"_blank\" rel=\"noopener\">SSIS REST API Task<\/a> to perform REST API File Upload (i.e., RESTful file upload) to a web server. Typically, to access the REST API, you need to use a programming language, but in this post, we will use a drag-and-drop visual approach.<\/p>\n<p>File upload using HTTP\/HTTPS protocol, sometimes also known as multipart\/form-data POST. Many REST APIs support file upload using HTTP methods such as POST or PUT.<\/p>\n<p><b>Real-world scenarios:<\/b><\/p>\n<ul>\n<li>Uploading images\/media to <a href=\"https:\/\/dev.twitter.com\/rest\/reference\/post\/account\/update_profile_image\" target=\"_blank\" rel=\"noopener\">Twitter<\/a> or Facebook<\/li>\n<li><a href=\"http:\/\/developers.marketo.com\/documentation\/rest\/import-lead\/\" target=\"_blank\" rel=\"noopener\">Import Marketo Lead files<\/a> using REST API<\/li>\n<\/ul>\n<h2>How to do REST API File Upload using SSIS<\/h2>\n<p>First, you will have to download a <a href=\"\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">FREE Trial of SSIS PowerPack<\/a> (It comes with many REST API Connectors and over 30+ functional tasks\/components)<\/p>\n<ol>\n<li>Download and install <a href=\"\/\/zappysys.com\/products\/ssis-powerpack\/\">SSIS PowerPack from here<\/a><\/li>\n<li>From the toolbox of the SSIS designer, drag the <a href=\"\/\/zappysys.com\/products\/ssis-powerpack\/ssis-rest-api-web-service-task\/\">ZS SSIS REST API Task<\/a><\/li>\n<li>Double-click the <strong>REST API Task<\/strong>\u00a0to configure it<\/li>\n<li>Specify URL where you wish to <strong>POST file<\/strong>\/other data<br \/>\nExample: http:\/\/myserver\/api\/v1\/uploaddata<\/li>\n<li>Select HTTP Request Method as <strong>POST<\/strong> ( make sure your API Documentation for this. Sometimes it&#8217;s <strong>PUT<\/strong> rather than\u00a0 POST)<\/li>\n<li><strong>Check the File Upload <\/strong>option next to the Body text box (<span style=\"color: #ff6600; text-decoration: underline;\">This is most important so don&#8217;t forget \ud83d\ude42<\/span> )<\/li>\n<\/ol>\n<h3>Method 1 &#8211; Upload file using Raw Mode (Or POST data from a local file)<\/h3>\n<p>The first method of uploading a file or posting data to the server from a local file is a RAW upload. To enable this you simply have to make sure 2 things.<\/p>\n<ol>\n<li>Check the File upload option next to Body.<\/li>\n<li>In the Body, enter the local file path starting with the @ sign (e.g., @D:\\Zappysys\\CSV files\\example1.csv)<\/li>\n<\/ol>\n<p>When you don&#8217;t include a Key\/Value pair and only the filepath is found, then the request is treated as a RAW Upload. In raw uploads, the default content type is application\/octet-stream. If you want to put a custom Content-Type, then edit the Headers in the Grid.<\/p>\n<p>The above technique can be used to read POST data content from a local file. Using this method, only one file can be uploaded. If the remote server supports multiple files (i.e., Multi-Part\/Form-Data POST), use the following process. See the screenshot below of the file content upload using Raw mode. We used <a href=\"https:\/\/zappysys.com\/blog\/how-to-use-fiddler-to-analyze-http-web-requests\/\" target=\"_blank\" rel=\"noopener\">Fiddler<\/a> to inspect the REST API Task&#8217;s Web requests.<\/p>\n<div id=\"attachment_11586\" style=\"width: 969px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11586\" class=\"size-full wp-image-11586\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png\" alt=\"\" width=\"959\" height=\"683\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png 959w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload-300x214.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload-768x547.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><p id=\"caption-attachment-11586\" class=\"wp-caption-text\">POST file data using SSIS ( Raw file upload)<\/p><\/div>\n<h3>Method\u00a02 &#8211; Upload file(s) using Multi-Part \/ Form Data mode (Mixed content, multiple files)<\/h3>\n<p>The second method for file upload is Multi-Part Upload. The advantage of using this method is that you can POST upload a key\/value pair along with single or multiple files. To use this method, you must make sure the API supports it on the other end. Use the steps below to POST data using the Multi-Part method.\u00a0 SSIS PowerPack detects RAW mode vs Multi-Part POST based on BODY content. If the Body contains an Equal sign somewhere and the File Upload option is checked, then it&#8217;s treated as a Multi-Part upload. If File Upload Option is checked and Body contains only file path which starts with @ sign then its treated as Raw content upload.<\/p>\n<ol>\n<li>Check the File upload option next to Body.<\/li>\n<li>Now, click the edit button next to the Body text box. You may specify files\/fields you wish to submit along with your request in the following format. It&#8217;s a key\/value pair separated by a new line. An equal sign (=) must separate each key\/value pair.<strong>NOTE:\u00a0<\/strong>Any value starting with an at symbol (@) is treated as a File Path. If you don&#8217;t want that behavior, then use a slash, also known as an escape sequence (e.g., Somefield3StartsWithAt=\\@MyTwitterHandle). You can do the same thing to add a new line character in your value. Use \\r\\n for a new line. Use \\t for tab. Also, notice that the field name can be anything unless your API expects it in a specific way. Example: Twitter Image Upload API may expect your image file as a media field. In that case you would write &#8230;. \u00a0media=@c:\\data\\someimage.png &#8230;. rather than File1=@c:\\data\\someimage.png\n<pre class=\"lang:default highlight:0 decode:true\">File1=@c:\\data\\somedata.txt\r\nFile1.Content-Type=text\/plain\r\nFile2=@c:\\data\\someimage.png\r\nFile2.Content-Type=image\/png\r\nSomefield1=abcdef\r\nSomefield2=123456\r\nExtrafield3WithNewLine=This is line1\\r\\nThis is line2 with tab\\t and more \\t tab\r\nSomefield3StartsWithAt=\\@MyTwitterHandle<\/pre>\n<p>Click OK to Save above.<\/p>\n<div class=\"su-note\"  style=\"border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">NOTE: If you do not specify Content-Type of file using <span class=\"lang:default highlight:0 decode:true crayon-inline \">SomeFieldName.Content-Type<\/span> attribute, then the system automatically detects based on the file extension. To exclude content-type altogether, you have to set it as a blank string, like below<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">file1=@c:\\temp\\dump.json\r\nfile1.Content-Type=<\/pre>\n<\/div><\/div><\/li>\n<li>Now, click the Test button in the UI to make sure everything looks good.\n<div id=\"attachment_11587\" style=\"width: 848px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/Uploading-files-using-REST-API-in-SSIS-REST-API-File-upload-using-Multipart-form-data-POST.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11587\" class=\"size-full wp-image-11587\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/Uploading-files-using-REST-API-in-SSIS-REST-API-File-upload-using-Multipart-form-data-POST.png\" alt=\"\" width=\"838\" height=\"735\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/Uploading-files-using-REST-API-in-SSIS-REST-API-File-upload-using-Multipart-form-data-POST.png 838w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/Uploading-files-using-REST-API-in-SSIS-REST-API-File-upload-using-Multipart-form-data-POST-300x263.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/Uploading-files-using-REST-API-in-SSIS-REST-API-File-upload-using-Multipart-form-data-POST-768x674.png 768w\" sizes=\"(max-width: 838px) 100vw, 838px\" \/><\/a><p id=\"caption-attachment-11587\" class=\"wp-caption-text\">Uploading files using REST API in SSIS ( REST API File upload using Multipart form-data POST)<\/p><\/div><\/li>\n<\/ol>\n<h2>Understanding Multipart Upload \/ File Upload<\/h2>\n<p>Now, let&#8217;s take a look at what it looks like in <a href=\"https:\/\/www.telerik.com\/download\/fiddler\/fiddler4\" target=\"_blank\" rel=\"noopener\">Fiddler<\/a>\u00a0when an actual\u00a0<strong>Multipart POST request<\/strong> is made for the REST API File upload. Notice that each field included in our HTTP POST request is separated by some random boundary. The REST API Task automatically generates this boundary. If you post an Image, then you will see binary data rather than text for file content. Here are <a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360036068434\" target=\"_blank\" rel=\"noopener\">some known issues<\/a> you need to be aware of.<\/p>\n<div id=\"attachment_11585\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/fiddler-http-multipart-form-data-example-rest-api-file-upload-post-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11585\" class=\"wp-image-11585 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/fiddler-http-multipart-form-data-example-rest-api-file-upload-post-1.png\" alt=\"HTTP Multipart POST - File Upload Example - Check Fiddler Request\" width=\"990\" height=\"557\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/fiddler-http-multipart-form-data-example-rest-api-file-upload-post-1.png 990w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/fiddler-http-multipart-form-data-example-rest-api-file-upload-post-1-300x169.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/fiddler-http-multipart-form-data-example-rest-api-file-upload-post-1-768x432.png 768w\" sizes=\"(max-width: 990px) 100vw, 990px\" \/><\/a><p id=\"caption-attachment-11585\" class=\"wp-caption-text\">HTTP Multipart POST &#8211; File Upload Example &#8211; Check Fiddler Request<\/p><\/div>\n<p><strong>Here is a Sample Multi-Part request.<\/strong><\/p>\n<p>Notice a few things<\/p>\n<ul>\n<li>The first line of the body content is &#8220;Boundary.&#8221;<\/li>\n<li>Last line in the body is also a Boundary, but it has two extra dashes at the end after the boundary line (i.e. &#8212;&#8212;&#8212;&#8211;xyzzzzz&#8211; )<\/li>\n<li>Notice <strong>name=&#8221;something&#8221;<\/strong>. This is an essential attribute. This is how the target server knows which item to extract from your response.<\/li>\n<li>Content-Type is automatically determined for a Multi-Part item when it is a file upload. Based on extension, ZappySys automatically selects the most common content type. See the next section.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">POST https:\/\/somecompany.com\/downloads\/files\/test\/uploadtest.aspx HTTP\/1.1\r\nUser-Agent: ZappySysApp\/1.0.2019.10822\r\nx-custom-hdr: 69c05bf5b6ef48dbb73c55020c50e027\r\nContent-Type: multipart\/form-data; boundary=---------------------------WebKitFormBoundary55fd218185294c408e9ef21a4ac82825\r\nHost: somecompany.com\r\nContent-Length: 3619\r\nExpect: 100-continue\r\nAccept-Encoding: gzip, deflate\r\nConnection: Keep-Alive\r\n\r\n-----------------------------WebKitFormBoundary55fd218185294c408e9ef21a4ac82825\r\nContent-Disposition: form-data; name=\"File1\"; filename=\"MultiPartFileUpload1.txt\"\r\nContent-Type: text\/plain\r\n\r\nA000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n-----------------------------WebKitFormBoundary55fd218185294c408e9ef21a4ac82825\r\nContent-Disposition: form-data; name=\"File2\"; filename=\"MultiPartFileUpload2.txt\"\r\nContent-Type: text\/plain\r\n\r\nB00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n-----------------------------WebKitFormBoundary55fd218185294c408e9ef21a4ac82825\r\nContent-Disposition: form-data; name=\"Extrafield1\"\r\n\r\naaaa\r\n-----------------------------WebKitFormBoundary55fd218185294c408e9ef21a4ac82825\r\nContent-Disposition: form-data; name=\"Extrafield2\"\r\n\r\nbbbb\r\n-----------------------------WebKitFormBoundary55fd218185294c408e9ef21a4ac82825\r\nContent-Disposition: form-data; name=\"Extrafield3WithNewLine\"\r\n\r\nThis is line1\r\nThis is line2 with tab\ttab\ttab\r\n-----------------------------WebKitFormBoundary55fd218185294c408e9ef21a4ac82825\r\nContent-Disposition: form-data; name=\"Extrafield3WithAt\"\r\n\r\n@MyTwitterHandle\r\n-----------------------------WebKitFormBoundary55fd218185294c408e9ef21a4ac82825--<\/pre>\n<h2>Known Issues<\/h2>\n<p>Sometimes you may receive the following error if your server is expecting \\r\\n after the last Multi-Part boundary. <a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360036068434\" target=\"_blank\" rel=\"noopener\">Here is the fix<\/a> for this error.<\/p>\n<pre class=\"lang:default highlight:0 decode:true \">The remote server returned an error: (500) Internal Server Error.\r\nResponse Url: https:\/\/your-host\/api\r\n\r\nStatus Code: InternalServerError \r\n\r\nResponse Body: {\"Message\":\"An error has occurred.\"\r\n,\"ExceptionMessage\":\"Unexpected end of MIME multipart stream. MIME multipart message is not complete.\",\"ExceptionType\":\"System.IO.IOException\",\"StackTrace\":\" at System.Net.Http.Formatting.Parsers.MimeMultipartBodyPartParser.&lt;ParseBuffer&gt;d__0.MoveNext()\\r\\n at System.Net.Http.HttpContentMultipartExtensions.MoveNextPart(MultipartAsyncContext context)\"\r\n}\r\n<\/pre>\n<h2>Most common extension and Content-Type<\/h2>\n<p>In the multi-part upload, you might have noticed that ZappySys adds a content type for some file extensions. <a href=\"https:\/\/zappysys.zendesk.com\/hc\/en-us\/articles\/360034303774\" target=\"_blank\" rel=\"noopener\">Here is a full list<\/a> of some common extensions and their content-type<\/p>\n<h2>Conclusion<\/h2>\n<p>If you need to perform REST API file upload or REST API integration without learning complex APIs or programming languages (e.g., Python, Java, C#), SSIS PowerPack provides a perfect way to integrate REST APIs\u00a0with your existing system. You can uncover endless possibilities with a drag-and-drop approach that is not only simple to use but also offers many options for complex scenarios.<\/p>\n<h2>Keywords<\/h2>\n<p>How to perform rest api file upload | How to do RESTful file upload in C# | How to do multipart file upload without cURL | How to upload multiple files using HTTP multipart forms | Rest Client Upload File | C# REST API Upload File | Rest API Upload Image | Rest API Upload File<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this post, you will learn how to use the\u00a0SSIS REST API Task to perform REST API File Upload (i.e., RESTful file upload) to a web server. Typically, to access the REST API, you need to use a programming language, but in this post, we will use a drag-and-drop visual approach. File upload using [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11586,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[123,157,3,105,12,4,144],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>REST API File Upload using SSIS (Multi Part POST) | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"Learn how to perform REST API File Upload using Multipart\/form-data POST method. RESTful file upload can be used to upload single or multiple files\/fields.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"REST API File Upload using SSIS (Multi Part POST) | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"Learn how to perform REST API File Upload using Multipart\/form-data POST method. RESTful file upload can be used to upload single or multiple files\/fields.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ZappySys\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2016-06-02T22:42:27+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-10-23T22:47:38+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"959\" \/>\r\n\t<meta property=\"og:image:height\" content=\"683\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/zappysys\/\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/\",\"url\":\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/\",\"name\":\"REST API File Upload using SSIS (Multi Part POST) | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png\",\"datePublished\":\"2016-06-02T22:42:27+00:00\",\"dateModified\":\"2025-10-23T22:47:38+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\"},\"description\":\"Learn how to perform REST API File Upload using Multipart\/form-data POST method. RESTful file upload can be used to upload single or multiple files\/fields.\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png\",\"width\":959,\"height\":683,\"caption\":\"POST file data using SSIS ( Raw file upload)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"REST API File Upload using SSIS (Multi Part POST)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"sameAs\":[\"http:\/\/www.zappysys.com\/\",\"https:\/\/www.facebook.com\/ZappySys\/\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/\"],\"url\":\"https:\/\/zappysys.com\/blog\/author\/admin\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"REST API File Upload using SSIS (Multi Part POST) | ZappySys Blog","description":"Learn how to perform REST API File Upload using Multipart\/form-data POST method. RESTful file upload can be used to upload single or multiple files\/fields.","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:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/","og_locale":"en_US","og_type":"article","og_title":"REST API File Upload using SSIS (Multi Part POST) | ZappySys Blog","og_description":"Learn how to perform REST API File Upload using Multipart\/form-data POST method. RESTful file upload can be used to upload single or multiple files\/fields.","og_url":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/","og_site_name":"ZappySys Blog","article_author":"https:\/\/www.facebook.com\/ZappySys\/","article_published_time":"2016-06-02T22:42:27+00:00","article_modified_time":"2025-10-23T22:47:38+00:00","og_image":[{"width":959,"height":683,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/zappysys\/","twitter_misc":{"Written by":"ZappySys","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/","url":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/","name":"REST API File Upload using SSIS (Multi Part POST) | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png","datePublished":"2016-06-02T22:42:27+00:00","dateModified":"2025-10-23T22:47:38+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82"},"description":"Learn how to perform REST API File Upload using Multipart\/form-data POST method. RESTful file upload can be used to upload single or multiple files\/fields.","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2016\/06\/POST-file-data-using-SSIS-Raw-file-upload.png","width":959,"height":683,"caption":"POST file data using SSIS ( Raw file upload)"},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/rest-api-file-upload-using-ssis-multi-part-post\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"REST API File Upload using SSIS (Multi Part POST)"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","caption":"ZappySys"},"sameAs":["http:\/\/www.zappysys.com\/","https:\/\/www.facebook.com\/ZappySys\/","https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/"],"url":"https:\/\/zappysys.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/540"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=540"}],"version-history":[{"count":8,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/540\/revisions"}],"predecessor-version":[{"id":11588,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/540\/revisions\/11588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/11586"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}