मैं इसे डाउनलोड करने से पहले http: /.../ फ़ाइल का आकार प्राप्त करना चाहता हूं। फ़ाइल एक वेबपृष्ठ, छवि, या एक मीडिया फ़ाइल हो सकती है। क्या यह HTTP हेडर के साथ किया जा सकता है? मैं केवल फ़ाइल हेडर फ़ाइल कैसे डाउनलोड करूं?http शीर्षलेखों से फ़ाइल आकार कैसे प्राप्त करें
उत्तर
हाँ, HTTP सर्वर आप का समर्थन करता है के लिए बात कर रहे हैं यह सोचते हैं/इस अनुमति देता है:
System.Net.WebRequest req = System.Net.HttpWebRequest.Create("http://stackoverflow.com/robots.txt");
req.Method = "HEAD";
using (System.Net.WebResponse resp = req.GetResponse())
{
int ContentLength;
if(int.TryParse(resp.Headers.Get("Content-Length"), out ContentLength))
{
//Do something useful with ContentLength here
}
}
तो प्रमुख विधि का उपयोग की अनुमति नहीं है, या सामग्री-लंबाई हेडर सर्वर जबाब में मौजूद नहीं है, सर्वर पर सामग्री का आकार निर्धारित करने का एकमात्र तरीका इसे डाउनलोड करना है। चूंकि यह विशेष रूप से विश्वसनीय नहीं है, इसलिए अधिकांश सर्वरों में यह जानकारी शामिल होगी।
क्या यह HTTP शीर्षलेखों के साथ किया जा सकता है?
हां, यह जाने का रास्ता है। यदि जानकारी प्रदान की जाती है, तो यह शीर्षलेख में Content-Length
है। नोट, हालांकि, यह जरूरी नहीं है कि मामला।
केवल शीर्षलेख डाउनलोड करना GET
के बजाय HEAD
अनुरोध का उपयोग करके किया जा सकता है। हो सकता है कि निम्नलिखित कोड में मदद करता है:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://example.com/");
req.Method = "HEAD";
long len;
using(HttpWebResponse resp = (HttpWebResponse)(req.GetResponse()))
{
len = resp.ContentLength;
}
सूचना HttpWebResponse
वस्तु पर सामग्री की लंबाई के लिए संपत्ति - मैन्युअल Content-Length
हैडर पार्स करने के लिए कोई जरूरत नहीं।
ऊपर 'respont.ContentLength' आपको सिर प्रतिक्रिया की लंबाई नहीं देगा, और उस फ़ाइल की लंबाई नहीं जिसे आप आकार प्राप्त करने में रुचि रखते थे? –
@Adam No. प्रलेखन कहता है: "ContentLength गुण में प्रतिक्रिया के साथ लौटाए गए सामग्री-लंबाई शीर्षलेख का मान होता है।" –
सही है, धन्यवाद, कोनराड धन्यवाद। –
WebClient webClient = new WebClient();
webClient.OpenRead("http://stackoverflow.com/robots.txt");
long totalSizeBytes= Convert.ToInt64(webClient.ResponseHeaders["Content-Length"]);
Console.WriteLine((totalSizeBytes));
- 1. फ़ाइल आकार को पथ कैसे प्राप्त करें?
- 2. "System.Drawing.Image" का फ़ाइल आकार कैसे प्राप्त करें
- 3. फ़ाइल का आकार कैसे प्राप्त करें
- 4. संशोधित शीर्षलेखों के साथ HTTP GET कैसे बनाएं?
- 5. काउबॉय से http पैरा कैसे प्राप्त करें?
- 6. HTTP शीर्षलेख कैसे प्राप्त करें
- 7. जावा फ़ाइल का आकार कुशलतापूर्वक प्राप्त करें
- 8. एंड्रॉइड फ़ाइल संसाधन का आकार प्राप्त करें?
- 9. हैंडलर से छवि आकार प्राप्त करें
- 10. संवाद आकार कैसे प्राप्त करें?
- 11. फ़ाइल आकार
- 12. flash.net.URLLoader ऑब्जेक्ट के लिए HTTP प्रतिक्रिया शीर्षलेखों तक पहुंचें?
- 13. अपेक्षित शीर्षलेखों के लिए परीक्षण कैसे करें?
- 14. WinRT में फ़ाइल का आकार कैसे प्राप्त करें?
- 15. http डाउनलोड फ़ाइल से फ़ाइल नाम पुनर्प्राप्त करें
- 16. दो शीर्षलेखों के बीच अंतर प्राप्त करना
- 17. mkstemp() से फ़ाइल ऑब्जेक्ट कैसे प्राप्त करें?
- 18. यूआरआई से फ़ाइल पथ कैसे प्राप्त करें?
- 19. OpenFileDialog से फ़ाइल एक्सटेंशन कैसे प्राप्त करें?
- 20. एमआईबी फ़ाइल से ओआईडी कैसे प्राप्त करें?
- 21. इरादे से फ़ाइल नाम कैसे प्राप्त करें?
- 22. जावा: फ़ाइल से थंबनेल कैसे प्राप्त करें
- 23. debug.keystore फ़ाइल से MD5 कैसे प्राप्त करें?
- 24. फ़ाइल आकार कैसे प्राप्त करें और लुआ में फ़ाइल को कैसे हटाएं?
- 25. मौजूदा स्रोत फ़ाइल की निर्देशिका से पहले निर्देशिका में शीर्षलेखों के लिए जीसीसी खोज कैसे करें?
- 26. फ़ोल्डर का आकार प्राप्त करें
- 27. फास्ट .NET Http अनुरोध कैसे प्राप्त करें
- 28. फ़ाइल प्राप्त करें piracy
- 29. आवेदन exe आकार आसानी से प्राप्त करें
- 30. फ़ाइल से फ़ाइल का नाम कैसे प्राप्त करें * सी
यदि आप 'उपयोग' का उपयोग करते हैं तो यह स्वचालित रूप से इसका निपटान करता है। http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.110).aspx – justderb
एक और नोट, यदि आप इसे बहुत बड़ी फ़ाइलों 'int' के लिए उपयोग कर रहे हैं, तो पर्याप्त नहीं है, आपको आवश्यकता होगी एक 2.14 जीबी आकार वापसी मूल्य से अधिक समर्थन के लिए 'लंबी सामग्री लम्बाई;' और 'long.TryParse (xxx)' का उपयोग करने के लिए। – Preston
क्या HTTP संपीड़न सक्षम नहीं किया जा रहा है वास्तविक फ़ाइल आकार को फेंक दें? – Justin