2011-01-28 6 views
5

मैं एक स्क्रिप्ट लिख रहा हूं जो मुझे इनडिज़ीन सीएस 3 के भीतर कुछ बुनियादी लगाव करने की अनुमति देता है, और मेरे कार्यों में से एक यह है कि उपयोगकर्ता को एक फ़ाइल चुनने की अनुमति देने के लिए एक संवाद खोलना है। मैं वर्तमान में यह कर रहा हूं:फ़ाइल ओपन संवाद का डिफ़ॉल्ट पथ कैसे बदलें?

var file = File.openDialog("Choose a File:"); 

समस्या एक शॉर्टकट के माध्यम से नेटवर्क ड्राइव पर नेविगेट करते समय प्रतीत होती है। किसी कारण से, संवाद इसे फ़ाइल के रूप में देखता है, और फ़ोल्डर स्थान पर नेविगेट करने के बजाय संवाद से उस पथ को लौटाता है। मुझे लगता है कि यह संवाद में बस एक बग है, और मेरा प्रारंभिक विचार यह देखने के लिए था कि लौटाई गई फ़ाइल में सही एक्सटेंशन है या नहीं, और फिर नहीं, फिर से संवाद प्रदर्शित करें, लौटा पथ स्थान पर खोला गया है। हालांकि, मुझे डिफ़ॉल्ट रूप से कहां खुलता है इसे बदलने का कोई तरीका नहीं दिख रहा है; openDlg() में केवल String prompt, var filter, और boolean multiselect के लिए पैरामीटर हैं। मैं जावास्क्रिप्ट से परिचित नहीं हूं, इसलिए मुझे नहीं पता कि यह सामान्य समाधान के साथ कुछ है, या विशेष रूप से इनडिज़ीन के लिए।

संपादित: अगर किसी को दिलचस्पी है, यहाँ अंतिम कोड मैं इस समस्या से बचने के लिए इस्तेमाल किया है:

var path = new File("~/desktop"); 
var file = path.openDlg("Choose File:"); 
while (file.alias) { 
    file = file.resolve().openDlg("Choose File:"); 
} 

मूल रूप से इसकी जांच करता है यह एक शॉर्टकट (उपनाम) है, और यदि ऐसा है तो, लक्ष्य हल करता है और संवाद फिर से प्रदर्शित करता है। इसके बारे में जाने के लिए एक हैकिश तरीका है, लेकिन यह ठीक काम करता है। हो सकता है कि वहां कुछ नल हैंडलिंग भी जोड़ना चाहें, जैसे कि संवाद रद्द हो गया है, शून्य वापस आ गया है।

उत्तर

1

क्या आपने डिफ़ॉल्ट रूप से इच्छित फ़ाइल/निर्देशिका में हैंडल प्राप्त करने का प्रयास किया है और fileHandle.openDlg() पर कॉल किया है?

http://forums.adobe.com/message/1109421#1109421

+0

बिंगो! एक मिनट के लिए त्रुटियां मिल रही थीं इससे पहले कि मुझे एहसास हुआ कि वहां 'ओपनडिअलॉग' और 'ओपन डीएलजी' है, क्लास तत्वों के लिए एक, इंस्टेंस तत्वों के लिए एक। 'openDlg' बहुत अच्छा काम करता है, धन्यवाद! – kcoppock

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