আমি ত্রুটিটি পাচ্ছি যখন আমি আমার সাইটে একটি ভিডিও আপলোড করার চেষ্টা করছি তখন সর্বাধিক অনুরোধের দৈর্ঘ্য অতিক্রম করে ।
আমি কিভাবে এটা ঠিক করব?
আমি ত্রুটিটি পাচ্ছি যখন আমি আমার সাইটে একটি ভিডিও আপলোড করার চেষ্টা করছি তখন সর্বাধিক অনুরোধের দৈর্ঘ্য অতিক্রম করে ।
আমি কিভাবে এটা ঠিক করব?
উত্তর:
আপনি যদি নিজের অ্যাপ্লিকেশনটি হোস্টিংয়ের জন্য আইআইএস ব্যবহার করে থাকেন তবে ডিফল্ট আপলোড ফাইলের আকার 4MB। এটি বাড়ানোর জন্য, দয়া করে আপনার web.config
-
<configuration>
<system.web>
<httpRuntime maxRequestLength="1048576" />
</system.web>
</configuration>
আইআইএস and এবং তারপরের জন্য আপনার নীচের লাইনগুলিও যুক্ত করতে হবে:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
দ্রষ্টব্য :
maxRequestLength
কিলোবাইটে পরিমাপ করা হয়maxAllowedContentLength
বাইট পরিমাপ করা হয় এই কনফিগার উদাহরণে মানগুলি পৃথক হয়। (উভয়ই 1 জিবি সমতুল্য))
Web.config
অভ্যন্তরের পরিবর্তে Views
আমি মনে করি না যে এটি এখানে উল্লেখ করা হয়েছে, তবে এই কাজটি পেতে, আমাকে এই দুটি মান ওয়েলকনফাইগেই সরবরাহ করতে হয়েছিল:
ভিতরে system.web
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
এবং ভিতরে system.webServer
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
গুরুত্বপূর্ণ : এই দুটি মানই মিলবে। এই ক্ষেত্রে, আমার সর্বোচ্চ আপলোডটি 1024 মেগাবাইট।
ম্যাক্সরেক্সটেলেন্থে 1048576 কিলোবাইট রয়েছে এবং ম্যাক্সএলয়েডড কনটেন্টলেন্টে 1073741824 বাই বাইস রয়েছে ।
আমি জানি এটি সুস্পষ্ট, তবে এটি উপেক্ষা করা সহজ।
web.config
ফাইলটিতে থাকতে পারে ।
এটি লক্ষণীয় যে আপনি এই পরিবর্তনের URL টি সীমাবদ্ধ করতে চান আপনি আপলোডের জন্য আপনার সম্পূর্ণ সাইটের পরিবর্তে ব্যবহার করার আশা করছেন।
<location path="Documents/Upload">
<system.web>
<!-- 50MB in kilobytes, default is 4096 or 4MB-->
<httpRuntime maxRequestLength="51200" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!-- 50MB in bytes, default is 30000000 or approx. 28.6102 Mb-->
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
</system.webServer>
</location>
এবং এই ক্ষেত্রে যদি কেউ এই ব্যতিক্রমটি পরিচালনা করার জন্য কোনও উপায় অনুসন্ধান করে এবং ব্যবহারকারীর কাছে অর্থপূর্ণ ব্যাখ্যা দেখায় ("আপনি খুব বড় একটি ফাইল আপলোড করছেন" এর মতো কিছু):
//Global.asax
private void Application_Error(object sender, EventArgs e)
{
var ex = Server.GetLastError();
var httpException = ex as HttpException ?? ex.InnerException as HttpException;
if(httpException == null) return;
if (((System.Web.HttpException)httpException.InnerException).WebEventCode == System.Web.Management.WebEventCodes.RuntimeErrorPostTooLarge)
{
//handle the error
Response.Write("Too big a file, dude"); //for example
}
}
(ASP.NET 4 বা তার পরে প্রয়োজনীয়)
HttpContext.Current.ClearError()
করার অনুমতি দেওয়ার প্রয়োজন ছিল Response.Redirect()
। এর নিরিখে এর বৈশিষ্ট্যের web.config
সাথে কাজ করে । maxRequestLength
httpRuntime
onchange
আপলোড বোতামে একটি ইভেন্ট ব্যবহার করে এবং আপলোড ফাইলের আকারকে সর্বোচ্চ আপলোডের সীমাটির সাথে তুলনা করে করা যেতে পারে ।
আপনি যদি কনফিগারেশন ফাইলগুলি আপডেট করতে না পারেন তবে ফাইল আপলোডগুলি ব্যবহার করে এমন কোডটি নিয়ন্ত্রণ করুন HttpContext.Current.Request.GetBufferlessInputStream(true)
।
true
জন্য মান disableMaxRequestLength
পরামিতি কনফিগার অনুরোধ সীমা উপেক্ষা করার ফ্রেমওয়ার্ক বলে।
বিস্তারিত বিবরণের জন্য https://msdn.microsoft.com/en-us/library/hh195568(v=vs.110).aspx দেখুন
সমস্ত উত্তর একটি এক জায়গায় সংক্ষিপ্ত করতে:
<system.web>
<httpRuntime targetFramework="4.5.2" maxRequestLength="1048576"/>
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
নিয়মাবলী:
মন্তব্য:
আরও তথ্য এমএসডিএন
সর্বাধিক হিসাবে এখানে রেকর্ডের দৈর্ঘ্য (কেবি দৈর্ঘ্য) আমি 1024 (1MB) ম্যাক্সএলয়েডড কনটেন্টলেংথ (বাইটে দৈর্ঘ্য) আপনার ম্যাক্সরেক্সেস্টলেন্ট (1048576 বাইট = 1 এমবি) এর মতো হওয়া উচিত।
<system.web>
<httpRuntime maxRequestLength="1024" executionTimeout="3600" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1048576"/>
</requestFiltering>
</security>
</system.webServer>
আপনার যদি সাইটে কোনও অ্যাপ্লিকেশনে যাওয়ার অনুরোধ থাকে, আপনি রুট ওয়েবকনফিগে ম্যাক্সরেউকুয়েস্টলেন্থ সেট করেছেন তা নিশ্চিত করুন। অ্যাপ্লিকেশনগুলির ওয়েবকনফিগের ম্যাক্সরেক্সটেল দৈর্ঘ্য উপেক্ষা করা হবে বলে মনে হয়।
httpRuntime maxRequestLength="###
এবং requestLimits maxAllowedContentLength
সাব-অ্যাপ পর্যায়ে না রুট স্তরে একটি ওয়েব কনফিগ মধ্যে।
আমি এই সত্যটি দেখে বিভক্ত হয়েছি যে আমাদের ওয়েবকনফাইগ ফাইলটিতে একাধিক সিস্টেম রয়েছে we
আমাকে C:\Windows\System32\inetsrv\config\applicationHost.config
ফাইলটি সম্পাদনা <requestLimits maxAllowedContentLength="1073741824" />
করতে হয়েছিল এবং শেষের দিকে যুক্ত করতে হয়েছিল ...
<configuration>
<system.webServer>
<security>
<requestFiltering>
অধ্যায়.
অনুযায়ী এই Microsoft সহায়তা ধারা
applicationHost.config
।
আমি কনফিগার ওয়েব কনফিগার করতে যোগ করতে পারেন
<system.web>
<httpRuntime maxRequestLength="1024" executionTimeout="3600" />
<compilation debug="true"/>
</system.web>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1048576"/>
</requestFiltering>
</security>
executionTimeout
অ্যাট্রিবিউট কি জিজ্ঞাসা করা হয় সঙ্গে কিছুই করার আছে, এবং তন্ন তন্ন করে compilation
ট্যাগ।