2012-12-19 9 views
6

मैं निम्नलिखित कोड का उपयोग कर फ़ाइलों को अपलोड करने के लिए जावास्क्रिप्ट में गिरावट घटना का उपयोग कर रहा:जावास्क्रिप्ट ondrop घटना

var fileName = event.dataTransfer.files[0].name;    
var orgValue = document.getElementById('<%=tbfilesCollections.ClientID%>').value; 
if (orgValue == 'undefined') { 
    orgValue = ''; 
} 
orgValue += orgValue == '' ? '' : '\n'; 
orgValue += "*" + fileName; 
document.getElementById('<%=tbfilesCollections.ClientID%>').value = orgValue; 
event.preventDefault(); 
return false; 

लेकिन इस कोड केवल फ़ाइल नाम हो जाता है ... मैं का पूरा पथ प्राप्त करने की आवश्यकता फ़ाइल।

उत्तर

1

जैसा कि यह पोस्ट इंगित करता है, आप जितना चाहें उतना पूरा मार्ग नहीं प्राप्त कर सकते: Javascript File Drop

जैसा कि माइकल सैंडिनो की टिप्पणियों में बताया गया है, फ़ायरफ़ॉक्स में "mozFullPath" विशेषता के साथ ऐसा करने का एक तरीका है, लेकिन मुझे अभी तक इसे पूरा करने का एक सार्वभौमिक रूप से लागू तरीका देखने को मिला है।

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

+0

धन्यवाद ... लेकिन फ़ाइल के पूर्ण पथ को पूर्व के लिए Google ड्राइव जैसे कैसे प्राप्त किया जा सकता है। –

+0

फ़ायरफ़ॉक्स में फ़ाइल ऑब्जेक्ट पर एक mozFullPath विशेषता है ... लेकिन यह स्पष्ट रूप से पोर्टेबल नहीं है –

+0

फिर मुझे विश्वास नहीं है कि यह एक टिकाऊ, ब्राउज़र-स्वतंत्र तरीके से संभव है, और निश्चित रूप से अनावश्यक है। मुद्दा यह है कि फ़ाइल अपलोड की गई है, सर्वर को पूर्ण पथ की आवश्यकता नहीं है और इसकी आवश्यकता नहीं है। यहां तक ​​कि यदि आप अभी तक '<इनपुट प्रकार = "फ़ाइल" />' का उपयोग करने के लिए जाते हैं और फ़ाइल चयन के बाद 'मान' प्राप्त करते हैं, तो आपको केवल पथ ही मिलेगा, न कि पथ, भले ही पूरा पथ लिखा गया हो मैदान में –

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