मैंने एक मूल ऐपलेट रखा है जहां उपयोगकर्ता अपनी हार्ड ड्राइव से फ़ाइल का चयन करता है, यह इस फ़ाइल की पहली पंक्ति को पढ़ता है और कुछ अतिरिक्त प्रीप्रोकैसिंग के लिए जावास्क्रिप्ट पर जाता है, और फिर जब आप एक क्लिक करते हैं बटन यह HTTP फ़ाइल अनुरोध के माध्यम से उस फ़ाइल को अपलोड करने का प्रयास करता है। मुझे फ़ाइलों को अपलोड करने के लिए एक बहुत ही बुनियादी ओपन सोर्स एप्लेट मिला जो मैंने कॉपी किया और इस आखिरी बिट के लिए संशोधित किया।जावा ऐप्पल अनुमतियां
समस्या यह है कि, यह काफी काम नहीं करता है। ऐसा लगता है कि यह ठीक चल रहा है, लेकिन फिर मैं अनुमतियों से संबंधित दो स्नैग में चला जाता हूं। जावा कंसोल में संदेशों का कहना है कि एप्लेट का उपयोग निम्न दो अनुमतियों पर त्रुटियों से इनकार किया था कि:
java.lang.RuntimePermission setFactory
java.io.FilePermission read
मैं यह अजीब लगता है, क्योंकि मैंने सोचा कि मैं जब मैं के साथ इसे बनाया पहले से ही एप्लेट करने की अनुमति दी थी " स्वयं-हस्ताक्षरित "विकल्प नेटबीन में चेक किया गया, और उसके बाद ब्राउज़र में छोटी सुरक्षा पॉप-अप की पुष्टि करने के लिए क्लिक किया गया।
इसके अलावा, जिस हिस्से को मैंने स्वयं कोड किया था, जहां यह फ़ाइल पढ़ता है और जावास्क्रिप्ट पर पहली पंक्ति को ठीक करता है ठीक काम करता है। यह एक स्पष्ट स्पष्ट संकेतक है कि एप्लेट स्थानीय फाइल सिस्टम से पढ़ने में सक्षम है! समस्या तब तक शुरू नहीं होती जब तक कि मैं वास्तव में अपलोड शुरू करने का प्रयास नहीं करता। मुझे लगता है कि एक बात ध्यान में रखनी है, यह है कि अपलोड प्रक्रिया एक नए धागे में चलती प्रतीत होती है, जबकि बाकी सभी मुख्य वर्ग में थ्रेड बनाये बिना चलते हैं।
मैं जावा के लिए कुल नौसिखिया हूं और जावा में धागे के बारे में बहुत कम जानता हूं; क्या मुझे किसी भी तरह इस नए धागे पर अनुमतियां पारित करने की आवश्यकता है? या प्रभाव के लिए कुछ है? अग्रिम धन्यवाद।
doPrivileged बेहद खतरनाक है। एप्लेट पर हस्ताक्षर कर रहा है। –
एप्लेट को फ़ाइलों को पढ़ने की अनुमति दे रहा है। कोई भी कम नहीं, यह वहां है और सवाल का जवाब है। –