2010-06-30 9 views
7

मुझे आश्चर्य है कि फ़ाइल पथ HTML जावास्क्रिप्ट में किसी फ़ाइल ऑब्जेक्ट में संग्रहीत किया जाता है।एचटीएमएल 5 फ़ाइलें और फ़ाइलसूची पथ

मैं वेबकिट DevTools का इस्तेमाल किया और यह मिल गया:

FileList 
0: File 
    fileName: "script.js" 
    fileSize: 71268 
    name: "script.js" 
    size: 71268 
    type: "application/x-javascript" 
    __proto__: File 
length: 1 
__proto__: FileList 

फ़ाइल नाम, आकार और प्रकार के होते हैं (किसी को क्यों नाम और आकार 2 चर है), लेकिन पथ नहीं है।

क्या फ़ाइल का पथ खोजने का कोई तरीका है, और यदि नहीं, ब्राउज़र और जावास्क्रिप्ट फ़ाइल को कैसे पढ़ता है (जैसे POST विधियों & प्रकार और आकार निर्धारित करना)?

उत्तर

8

आप WHATWG HTML spec में पढ़ सकते हैं के रूप में,

[च] या ऐतिहासिक कारणों से, value आईडीएल विशेषता स्ट्रिंग ": \ fakepath \ सी" के साथ फ़ाइल नाम उपसर्ग। कुछ विरासत उपयोगकर्ता एजेंटों में वास्तव में पूर्ण पथ शामिल था (जो एक सुरक्षा भेद्यता थी)।

MDC पर पर पढ़ना, हम देख सकते हैं एक (गैर मानक) संपत्ति mozFullPath नामित किया है कि फ़ाइल वस्तु की मोज़िला कार्यान्वयन, युक्त

[टी] संदर्भित फ़ाइल का वह पूरा पथ ; यूनिवर्सलफाइल रीड विशेषाधिकार क्रोम में केवल कोड के लिए उपलब्ध है।

कि पेज भी फ़ाइल वस्तु में अनावश्यक डेटा के बारे में आपके प्रश्न के उत्तर: गुण fileName और fileSize पदावनत कर रहे हैं। W3C के File API Working Draft पर भी देखें, जहां उनका उल्लेख नहीं किया गया है।

यदि नहीं, तो कैसे ब्राउज़र और जावास्क्रिप्ट (जैसे पोस्ट तरीकों & के रूप में प्रकार और आकार का निर्धारण) फ़ाइल को पढ़ने देता:

अपने प्रश्न के दूसरे भाग का उत्तर देने के?

बेशक

, आंतरिक रूप से पूरा फ़ाइल पथ पहुँचा जा सकता है (और उपयोगकर्ता को दिखाया कई ब्राउज़रों में है), लेकिन यह एक वेब पेज में चल जावास्क्रिप्ट लिपियों के लिए सुलभ नहीं है।

वैसे, कुछ साल पहले इस बारे में WHATWG mailing list पर चर्चा हुई थी।

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