2011-10-13 13 views
5

मुझे यूआरएल की विस्तार फ़ाइल प्राप्त होनी चाहिए।फ़ाइल का विस्तार प्राप्त करें (संपादित करें)

उदाहरण के लिए एक्सटेंशन http://www.iranfairco.com/download-file/02912bb889cb24 प्राप्त करें। यदि एक्सटेंशन यह फ़ाइल gif है।

संपादित करें:

उदाहरण इस यूआरएल "http://www.online-convert.com/result/d8b423c3cbc05000cc52ce7015873e72"

कृपया मेरी मदद कैसे इस यूआरएल के विस्तार प्राप्त कर सकते हैं के लिए

?

+6

मैं देख रहा हूँ की कोशिश करते हैं यहां कुछ भी नहीं है जो एक gif इंगित करता है। यूआरएल में '.gif' नहीं है और http अनुरोध 404 देता है। – CodesInChaos

उत्तर

10

Path.GetExtension आपके लिए क्यों काम नहीं करता है?

संपादित
आह, तो अपने यूआरएल विस्तार आप के बाद कर रहे हैं निर्दिष्ट नहीं है। इसका मतलब है कुछ भी इसके पीछे हो सकता है।

बस यूआरएल के स्ट्रिंग मान का निरीक्षण करके, आप नहीं देख सकते कि इसके पीछे क्या होगा। आपका (दूसरा) उदाहरण बिंदु (अंततः) .gif फ़ाइल में, लेकिन यह एक .jpg, .doc (या यहां तक ​​कि .exe) भी हो सकता है।

आपको यह देखने के लिए एक वेबरेक्वेस्ट करने की आवश्यकता होगी कि आप क्या वापस आएं। आम तौर पर आप हेडर प्राप्त करने के लिए एक सिर की कोशिश कर सकते हैं (और सामग्री प्रकार का निरीक्षण), लेकिन मुझे नहीं लगता कि यह यहां काम करेगा। फिडलर को यह देखने के लिए प्रयास करें कि आप क्या प्राप्त करते हैं, फिर आप अपना प्रश्न परिशोधित कर सकते हैं।

+0

पता लगाने में सक्षम होगा क्या यह वेब यूआरएल पर काम करता है? – musefan

+1

'पथ। गेट एक्सटेंशन (" http://www.someserver.com/image.gif ") 'रिटर्न" .gif " –

+0

आह हाँ जो काम करेगा, लेकिन यह उदाहरण के लिए नहीं होगा ... मैंने सोचा था कि आपके पास था तब एक सुपर-कमाल समारोह मिला, मैं बहुत प्रभावित होने का इंतजार कर रहा था: डी – musefan

0

आप स्ट्रिंग को चार 'पर विभाजित कर सकते हैं।' और अंतिम स्ट्रिंग लौटे सरणी में .. यहाँ बाहर निकलना

+0

no.this url फ़ाइल का नाम हैश.फिलनाम = 02 9 12bb889cb24 – ashkufaraz

+0

नहीं है कि स्ट्रिंग में फ़ाइल एक्सटेंशन नहीं है ... उदाहरण – musefan

+0

कोई स्पष्ट रूप से नहीं है क्योंकि उदाहरण असफल है ... यह मेरी गलती कैसी है? – Rob

6

की जांच:

http://www.java2s.com/Code/CSharp/Network/GetHTTPResponseheaders.htm

आप response.ContentType जो आपको एक के लिए की तरह "छवि/gif" कुछ देना चाहिए में रुचि होगी gif image

+0

है जो सेट होने वाले सामग्री शीर्षलेख पर निर्भर करता है। एएसपीनेट टैग को देखते हुए, मुझे लगता है कि @ कर्ट का जवाब अधिक सही है, और जो आवश्यक है वह वास्तव में एएसपी में एक सामग्री प्रकार लागू कर रहा है। – stevenrcfox

+0

@ ओवरफ्लो, मुझे पता है कि यह आवश्यक है कि उस यूआरएल कॉल को संभालने पर सामग्री प्रकार को सर्वर द्वारा सेट करने की आवश्यकता हो।और मेरी धारणा यह है कि इस यूआरएल का उपयोग फ़ाइल डाउनलोड (जैसा कि यूआरएल में सुझाया गया है) प्रदान करने के लिए किया जाता है, और अधिकतर संभावना है कि सर्वर केवल एक छवि युक्त प्रतिक्रिया स्ट्रीम लौटाएगा और इस प्रकार एक सामग्री प्रकार सेट करेगा। बेशक, सामग्री का प्रकार गलत हो सकता है और यह कार्यान्वयन पर निर्भर करता है। लेकिन इसे सही तरीके से करने के लिए, कार्यान्वयन को सही सामग्री प्रकार प्रदान करना चाहिए, और इस प्रकार मेरा उत्तर फ़ाइल प्रकार – musefan

1

यह यूआरएल शायद उस पृष्ठ से लिंक हो रहा है जिसमें फ़ाइल के लिए डाउनलोड होगा।

02912bb889cb24 शायद उस फ़ाइल का डेटाबेस संदर्भ है।

इसलिए इस प्रणाली के लिए किसी भी एपीआई के लिए उपयोग के बिना, मुझे नहीं लगता कि यह संभव है सब पर इस URL के माध्यम से सुलभ फ़ाइल के लिए फ़ाइल एक्सटेंशन बाहर काम करने के

+0

मैं इसे कुछ अतिरिक्त जोड़ों के साथ सबसे सटीक उत्तर के रूप में देखता हूं, 1. जब फ़ाइल अपलोड की जाती है तो आपको सामग्री-प्रकार प्राप्त करने और इसे सहेजने में सक्षम होना चाहिए फ़ाइल के साथ डेटाबेस। फिर जब फ़ाइल डाउनलोड हो जाती है, तो आपको सामग्री प्रकार फिर से सेट करने में सक्षम होना चाहिए। – stevenrcfox

4

इस

string path = @"http://www.iranfairco.com/download-file/02912bb889cb24.gif"; 
string e = Path.GetExtension(path); 
+0

यूआरएल बराबर 2 9 4 9 3 9 3 9 2 9 0 9 30232.gif के बराबर नहीं है – ashkufaraz

संबंधित मुद्दे