2012-04-30 8 views
23

मैं ग्राहकों को जो फ़ाइल के नाम में एक कॉलन के साथ फ़ाइलों को अपलोड कर रहे हैं से त्रुटियों हो रही है, यानी C:/uploads/test : doc.htmlफ़ाइल नाम में एक कोलन के साथ विंडोज़ में फ़ाइल कैसे प्राप्त करें?

मुझे लगता है कि कुछ यूनिक्स या Linux सिस्टम फ़ाइल पैदा कर रहा है, लेकिन मुझे यकीन है कि है कि उपयोगकर्ताओं ने बचत कर रहे हैं नहीं कर रहा हूँ अमान्य फ़ाइल नाम के साथ। मैंने एक टुकड़ा कोड किया है जिसे अपलोड पर दस्तावेज़ का नाम बदलना चाहिए। मेरी समस्या यह है कि मैं इसका परीक्षण नहीं कर सकता क्योंकि मुझे विंडोज़ पर एक फाइल नहीं मिल सकती है जिसमें फाइलनाम में एक कोलन है।

+6

कुछ ऐसे वर्ण हैं जिन्हें विंडोज फ़ाइल नामों में बस अनुमति नहीं है, कोलन उनमें से एक है। माफ़ कीजिये। –

+5

पीएस अमान्य वर्णों की पूरी सूची यहां है: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#file_and_directory_names –

+1

ऐसा करना संभव हो सकता है मूल एपीआई या डिवाइस चालक से। लेकिन आप Windows अनुप्रयोग से फ़ाइल अपलोड करने में सक्षम नहीं होंगे, या वास्तव में इसके साथ कुछ भी नहीं करेंगे। –

उत्तर

29

मुझे एक कोलन के लिए एक बहुत ही समान चरित्र मिला, "꞉" यह एक यूनिकोड चरित्र है जिसे मॉडिफायर लेटर कॉलन कहा जाता है। इसमें फुलविड्थ कोलन जैसी कोई जगह नहीं है और नियमित रूप से एक नियमित कोलन के समान ही है लेकिन प्रतीक काम करता है। आप या तो इसे ऊपर से कॉपी और पेस्ट कर सकते हैं या आप कोड पॉइंट का उपयोग कर सकते हैं, यू + ए 78 9

9

एक कोलन विंडोज फ़ाइल नाम के लिए एक अवैध चरित्र है। आप फ़ाइल नाम में ':' की अनुमति नहीं दे पाएंगे, लेकिन आप इसके आसपास काम कर सकते हैं।

आप या तो ऐसा कर सकते हैं जैसा आपने पहले ही किया है; एक ऐसी स्क्रिप्ट बनाएं जो इन अमान्य वर्णों को यूनिक्स पक्ष पर मान्य लोगों के साथ बदल देती है। या, आप के साथ फ़ाइल नाम चरित्र अनुवाद Windows सर्वर पर इस की देखभाल कर सकते हैं: http://support.microsoft.com/kb/289627

+1

का मानना ​​है कि मेरा मानना ​​है कि मैंने फ्लाई पर फ़ाइल अपलोड का नाम बदलकर समस्या हल कर दी है, लेकिन मुझे फाइल नाम में एक कोलन के साथ एक विंडोज मशीन पर फ़ाइल प्राप्त करने की आवश्यकता है। हमारे ग्राहक किसी भी तरह से कर रहे हैं तो यह संभव होना चाहिए। – David

+0

@ डेविड: आपको क्या लगता है कि आपके ग्राहक ऐसा कर रहे हैं? क्या आप वाकई विंडोज मशीनों से अपलोड आ रहे हैं? –

+1

सावधान रहें - आप * फू: बीएआर नामक कुछ बना सकते हैं, लेकिन फिर आपको जो मिला है वह एक नाम है जिसमें बीएआर नामक डेटा स्ट्रीम है (साथ ही साथ अनाम डेटा स्ट्रीम)। निर्देशिका सूची में आप केवल फू देखेंगे। – dave

3

यह फ़ाइल नाम आपके द्वारा दी गई है कि चरित्र आप अपनी फ़ाइल नाम में है एक शाब्दिक बृहदान्त्र : है, जो एक आरक्षित वर्ण है नहीं है से संभावित है विंडोज़ फ़ाइल नामों में, लेकिन इसके बजाय एक पूर्णविड्थ कोलन । यह एक यूनिकोड चरित्र है जो एक कोलन की तरह दिखता है, जो दृश्यों से घिरा हुआ है जिसे आप हटा नहीं सकते हैं। आप इसे किसी भी यूनिकोड कैरेक्टर के समान ही संभाल सकते हैं, कोड बिंदु U+FF1A है।

+1

यह ओपीएस प्रश्न को संबोधित नहीं करता है; जबकि सलाह बहुत अच्छी है, आपको या तो प्रश्न के लिए टिप्पणी में रखना चाहिए * या * क्यू एंड ए शैली में जेओपार्डी में पूछें/जवाब दें, पहले पूछें कि "विंडोज फाइलनामों में कोलन का उपयोग कैसे करें?" सवाल, क्यू एंड ए स्टाइल जवाब का चयन और वहां यह जानकारी प्रदान करना। – vaxquis

+1

@ वैक्सक्विस: इसके विपरीत, मुझे लगता है कि यह संभवतः ओपी की समस्या का कारण था; उन्होंने सोचा कि वे जिन फाइलनामों से निपटने की कोशिश कर रहे थे उनमें से कोलन थे, लेकिन वे शायद पूर्णतया कॉलन थे। –

+1

@ हैरी जोहानस्टन उस मामले में, मैं इस जानकारी को स्पष्ट रूप से शामिल करने के लिए प्रश्न संपादित कर रहा हूं – vaxquis

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