file - कोल्डफ्यूज़ेशन सर्वर फ़ाइल एपॉस्ट्रॉफी वर्ण के साथ




server coldfusion (2)

मेरा अनुमान है कि एपॉस्ट्रॉफ़ उन मल्टी-कैरेक्टर एपोस्ट्रॉप्स में से एक है जो कि माइक्रोसॉफ्ट वर्ड का अक्सर इस्तेमाल होता है। आपके ओएस फाइल सिस्टम के लिए ऐसा कोई पात्र नहीं हो सकता है जो आपके ओएस फ़ाइल सिस्टम के लिए हो।

आप अपलोड करने पर एक अस्थायी फ़ाइल का उपयोग करने के लिए सिस्टम को फिर से कोड करना चाहते हैं और फिर अपलोड सफल होने के बाद उसे किसी मान्य फ़ाइल नाम में बदल दें।

यहाँ कुछ बुनियादी मुसीबत शूटिंग की जानकारी है

कोशिश / कैच ब्लॉक में अपना कोड लपेटें और पूर्ण त्रुटि को पृष्ठ आउटपुट में डंप करें। कोशिश / पकड़ / नीचे डंप का उपयोग करने के उदाहरण नीचे दिए गए उदाहरण शून्य से विभाजित करके एक त्रुटि को बल देते हैं।

टैग आधारित cfml के लिए:

<cftry>
    <cfset offendingCode = 1 / 0>

    <cfcatch type="any">
        <cfdump var="#cfcatch#" label="cfcatch">
    </cfcatch>
</cftry>

Cfscript cfml के लिए:

<cfscript>
    try {
        offendingCode = 1 / 0;
    } catch (any e) {
        writeDump(var=e, label="Exception");
    }
</cfscript>

जब मैं एपॉस्ट्रॉफी के साथ एक फ़ाइल अपलोड करने का प्रयास करता हूं, तो मुझे त्रुटि मिलती है:

    Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

अगर फ़ाइल का नाम test's.pdf है, तो मुझे त्रुटि मिलती है लेकिन अगर मैं test.pdf को नाम बदलता हूं, तो कोई त्रुटि नहीं है।

क्या किसी को पता है क्यों?

धन्यवाद


मेरी ऐसी स्थिति थी जहां मैं गतिशील रूप से उन पृष्ठों के लिए फ़ाइल नाम बना रहा था जो क्वेरी परिणामों से एक्सल फ़ाइलों को बनाए। मैंने जो दृष्टिकोण लिया था वह एक फ़ंक्शन बनाने के लिए था जो सभी के साथ सभी खराब पात्रों को बदल देता था यहां उस फ़ंक्शन का हिस्सा है

<cfargument name="replacementString" required="no" default=" ">
<cfscript>
var inValidFileNameCharacters = "[/\\*'?[\]:><""|]";
return reReplace (arguments.fileNameIn, inValidFileNameCharacters, arguments.replacementString, "all");
</cfscript>

आप एक विपरीत दृष्टिकोण पर विचार करना चाह सकते हैं अमान्य वर्णों को घोषित करने और उन्हें बदलने के बजाय, मान्य लोगों को घोषित करें और जो कुछ भी वैध वर्णों की सूची में नहीं है उसे बदलने दें।

मैं यह सुझाव देता हूं कि यह एक ऐसा कार्य है जो सभी उचित पृष्ठों पर उपलब्ध है। आप यह कैसे करते हैं यह आपकी स्थिति पर निर्भर करता है।





coldfusion