{"id":14405,"date":"2022-10-07T17:40:02","date_gmt":"2022-10-07T12:10:02","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/"},"modified":"2022-10-07T17:40:02","modified_gmt":"2022-10-07T12:10:02","slug":"solved-large-file-1-3gb-upload-to-sql-via-webapi-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/","title":{"rendered":"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-40517703\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"40517703\" data-parentid=\"40517513\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>OK.  So you&#8217;ve solved the issue of WebAPI not running out of RAM.  But the next concern is that you&#8217;ve got to pass the data to SQL Server.  You can pipe the request stream through any of the .NET stream encryptors, but then it&#8217;s gotta go somewhere after that.<\/p>\n<p>I suggest you do something like:<\/p>\n<p>Request stream -&gt; encryptor -&gt; custom stream<\/p>\n<p>The custom stream will be responsible for sending data to sql server in <em>chunks<\/em>.  You can fine tune the size of the chunks but it&#8217;s essentially so that you don&#8217;t try to send a sql command with a 1GB or more argument size.  Your custom stream sql command will break the upload into chunks of bytes, given a fixed buffer size.  When the buffer gets over a certain amount, you write a row to SQL Server, flush the buffer, and wait for more to come in from the encryptor stream.  The rows that get written will be tied together with some sort of ID, and of course, a sequence number that will tell you the order to use when re-assembling them.<\/p>\n<p>When you want to send the data back, you just do this again, but in reverse.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">3<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Large File (1-3GB) upload to SQL via WebApi [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] OK. So you&#8217;ve solved the issue of WebAPI not running out of RAM. But the next concern is that you&#8217;ve got to pass the data to SQL Server. You can pipe the request stream through any of the .NET stream encryptors, but then it&#8217;s gotta go somewhere after that. I suggest you do something &#8230; <a title=\"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/\" aria-label=\"More on [Solved] Large File (1-3GB) upload to SQL via WebApi [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[3719,324,500],"class_list":["post-14405","post","type-post","status-publish","format-standard","hentry","category-solved","tag-asp-net-web-api2","tag-c","tag-sql-server"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Large File (1-3GB) upload to SQL via WebApi [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] OK. So you&#8217;ve solved the issue of WebAPI not running out of RAM. But the next concern is that you&#8217;ve got to pass the data to SQL Server. You can pipe the request stream through any of the .NET stream encryptors, but then it&#8217;s gotta go somewhere after that. I suggest you do something ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-07T12:10:02+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\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:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed]\",\"datePublished\":\"2022-10-07T12:10:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/\"},\"wordCount\":230,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"asp.net-web-api2\",\"c++\",\"sql-server\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/\",\"name\":\"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-07T12:10:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed] - JassWeb","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:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed] - JassWeb","og_description":"[ad_1] OK. So you&#8217;ve solved the issue of WebAPI not running out of RAM. But the next concern is that you&#8217;ve got to pass the data to SQL Server. You can pipe the request stream through any of the .NET stream encryptors, but then it&#8217;s gotta go somewhere after that. I suggest you do something ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/","og_site_name":"JassWeb","article_published_time":"2022-10-07T12:10:02+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed]","datePublished":"2022-10-07T12:10:02+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/"},"wordCount":230,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["asp.net-web-api2","c++","sql-server"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/","name":"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-07T12:10:02+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-large-file-1-3gb-upload-to-sql-via-webapi-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Large File (1-3GB) upload to SQL via WebApi [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/14405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=14405"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/14405\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=14405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=14405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=14405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}