عرض سلام و احترام
بنده برای مدیریت دانلود فایل هام در سایت تقریبا از چنین قطعه کدی استفاده میکنم:
string filename = FileName; var dataBytes = File.ReadAllBytes(HttpContext.Current.Server.MapPath("~\\SampleProductFolder\\") + filename); var dataStream = new MemoryStream(dataBytes); HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK); httpResponseMessage.Content = new StreamContent(dataStream); httpResponseMessage.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); httpResponseMessage.Content.Headers.ContentDisposition.FileName = filename; //"test.pdf"; // bookName; httpResponseMessage.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream"); return httpResponseMessage;
حال اگر فایل هایی با حجم کم مثل pdf باشد برنامه بدون مشکلی فایل مربوطه را از آدرس خوانده و دانلود میکند
اما اگر فایل حجیم باشد (فرضا 1.5 گیگ) در خط دوم این کد ، با این خطا مواجه میشوم:
System.OutOfMemoryException: 'Exception of type 'System.OutOfMemoryException' was thrown.'
ممنون میشم راهنمایی بفرمایید
از وقتی که میگذارین سپاسگذارم
باید در وب کانفیگ حجم فایل ها را افزایش دهید
<system.web> <httpRuntime maxRequestLength="1500000" /> </system.web>
این کار رو انجام دادم و تنظیماتش رو در web.config انجام دادم
هم مقدار maxRequestlength رو دادم و هم مقدار maxAllowedContentLength رو
اما این ارور همچنان پایداره
این نکته رو هم اضافه کنم که این کد در api هست
امکان داره درخواست از api فرق داشته باشه؟
یک توضیح مهم دیگه رو هم ضمیمه کنم:
وقتی به این ارور بر میخورم دوباره که f10 رو میزنم و برنامه رو continue میکنم توی همین ارور لوپ میشه و کم کم فایل دانلود میشه...
لینک های زیر رو بررسی کنید:
مطالعه کردم اما باز هم متوجه نشدم دقیقا مشکل کدم چیه و باید چه کار کنم
میشه خواهش کنم دقیق تر راهنماییم کنید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)