क्या आपका मतलब है कि जब आप सर्वर हैं, या ग्राहक?
यदि आप सर्वर हैं, तो आप इसे किसी भी अन्य फ़ाइल के बारे में बता सकते हैं (मान लीजिए कि छवि स्ट्रीम फ़ाइल से आ रही है)।
new FileInfo(path).Length;
तुम्हारा मतलब आप क्लाइंट-कोड कर रहे हैं (यदि आप किसी अन्य वेब सर्वर तक पहुँच रहे हैं) यदि
एक HEAD अनुरोध करते हैं। जबकि कुछ सर्वर सही तरीके से व्यवहार नहीं करते हैं, एक सिर के लिए सही प्रतिक्रिया एक जीईटी के लिए काफी समान है, सिवाय इसके कि इकाई नहीं भेजी जाती है।
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 17 Aug 2010 01:06:21 GMT
Content-Type: image/png
Connection: keep-alive
Cache-Control: max-age=604800
Last-Modified: Tue, 13 Jul 2010 06:28:14 GMT
Accept-Ranges: bytes
X-Powered-By: ASP.NET
Content-Length: 18607
वास्तविक छवि फ़ाइल के ओक्टेट्स द्वारा पीछा किया:
उदाहरण के लिए, स्प्राइट पीएनजी कि इस पृष्ठ पर प्रयोग किया जाता है प्राप्त करने के लिए, ब्राउज़र http://sstatic.net/stackoverflow/img/sprites.png करने के लिए एक प्राप्त जो जवाब में यह परिणाम है।
में प्राप्त परिणामों के बजाय एक प्रमुख करने से:
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 17 Aug 2010 01:07:20 GMT
Content-Type: image/png
Connection: keep-alive
Cache-Control: max-age=604800
Content-Length: 18607
Last-Modified: Tue, 13 Jul 2010 06:28:14 GMT
Accept-Ranges: bytes
X-Powered-By: ASP.NET
काफी
ही लेकिन इकाई शरीर बिना। इस बिंदु पर हम देख सकते हैं कि छवि वास्तव में इसे डाउनलोड किए बिना 18607 बाइट आकार में है। यह विधि काम नहीं करेगी, हालांकि अगर छवि को टुकड़ा भेजा जाएगा, तब सामग्री-लंबाई को हेडर में नहीं भेजा जाएगा।
संपादित करें:
यह उनका कहना है लायक है, कि chunked सामग्री के साथ कभी कभी आप कोई चारा नहीं पूरी बात डाउनलोड करने के लिए है क्योंकि सर्वर से नहीं बोलेगा आकार जब यह शुरू होता है है, (और यहां तक पता नहीं हो सकता) भेजना। अफसोस की बात है, यह विशेष रूप से बड़ी धाराओं के साथ भी उपयोग की संभावना है। खुशी से, छवियों के साथ इसका उपयोग करने की संभावना नहीं है।
मैं क्लाइंट हां के रूप में कार्य कर रहा हूं। तो फाइलइन्फो काम नहीं करेगा तो मैं देखता हूं। यहां उल्लिखित नुकसान के बावजूद, HEAD जानकारी जाने का तरीका है। – Alex
क्या आपका मतलब 18607 बाइट आकार में नहीं है? – jeffora
एलओएल। मैंने प्रतिलिपि बनाई है इसलिए मैं संभवतः इसे गलत टाइप नहीं कर सका, और फिर मैंने अधिकतम उम्र को गलती से चिपकाया। फिक्स्ड, धन्यवाद। –