HTML लिंक को फोल्डर खोलने के तरीके क्या हैं


106

मुझे एक वेब पेज के लिंक पर क्लिक करके एप्लिकेशन के उपयोगकर्ताओं को एक फ़ोल्डर खोलने की आवश्यकता है। फ़ोल्डर का पथ नेटवर्क पर है और इसे हर जगह से एक्सेस किया जा सकता है। मुझे शायद यकीन है कि ऐसा करने का कोई आसान तरीका नहीं है, लेकिन शायद मुझसे गलती हुई है?


4
मैंने नीचे उत्तर दिया है; यह एंटरप्राइज़ वेब अनुप्रयोगों की एक आम आवश्यकता है जो गुमराह सुरक्षा द्वारा लगभग असंभव बना दिया जाता है (विश्वसनीय URL में फ़ाइल लिंक को सक्षम करना संभव होना चाहिए)। मैंने केवल विंडोज पर बड़े पैमाने पर परीक्षण किया है।
एंड्रयू डफी

जवाबों:


107

क्या आप विंडोज एक्सप्लोरर में एक साझा फ़ोल्डर खोलना चाहते हैं? आपको एक file:लिंक का उपयोग करने की आवश्यकता है , लेकिन वहाँ चेतावनी हैं:

  • यदि लिंक परिवर्तित UNC पथ ( file://server/share/folder/) है तो इंटरनेट एक्सप्लोरर काम करेगा ।
  • फ़ायरफ़ॉक्स काम करेगा अगर लिंक पांच स्लैश ( file://///server/share/folder) का उपयोग करके अपने स्वयं के मैंगल्ड रूप में है और उपयोगकर्ता ने HTTP पर file:दिए गए पृष्ठ में लिंक पर सुरक्षा प्रतिबंध को अक्षम कर दिया है । शुक्र है कि IE भी मंगाई गई लिंक फॉर्म को स्वीकार करता है।
  • ओपेरा, सफारी और क्रोम को file:HTTP पर दिए गए पेज में लिंक खोलने के लिए आश्वस्त नहीं किया जा सकता है ।

4
IE में केवल यदि UNC पथ और लिंक वाली वेबसाइट एक ही डोमेन में हैं, जो केवल इंट्रानेट में कहना है।
स्टेफेन स्टेगर

4
मुझे लगता है कि यह अब सही नहीं है - IE के नए संस्करण इस व्यवहार को क्रोम / सफारी / आदि के रूप में अवरुद्ध करते हैं।
ZeekLTK

1
मैंने अभी IE 11 में यह कोशिश की है और आप वास्तव में इसे डाउनलोड किए बिना एक स्थानीय फ़ाइल खोल सकते हैं (जैसा कि पहले से मौजूद फ़ाइल पथ को खोलें)। यह अभी भी क्रोम में मौजूद नहीं है।
४own को

4
आप इसे Chrome में स्थानीय लिंक क्रोम एक्सटेंशन के माध्यम से काम करने के लिए प्राप्त कर सकते हैं । इस StackOverflow जवाब
Zach जॉनसन

@Andrew डफी, क्या किसी प्रकार का प्रलेखन है जो कहता है कि Google Chrome इस व्यवहार को रोक रहा है? मैं के बारे में इस में अधिक जानना चाहते हैं
यमक

7

URL file://[servername]/[sharename]को नेटवर्क पर साझा किए गए फ़ोल्डर में एक एक्सप्लोरर विंडो खोलनी चाहिए।


4

सुनिश्चित करें कि आपकी फ़ोल्डर अनुमतियाँ सेट की गई हैं ताकि एक निर्देशिका लिस्टिंग की अनुमति दी जाए, उदाहरण के लिए chmod 701 (जो जोखिम भरा हो सकता है) का उपयोग करते हुए बस अपने एंकर को उस फ़ोल्डर में इंगित करें

<a href="./downloads/folder_i_want_to_display/" >Go to downloads page</a>

सुनिश्चित करें कि आपके पास उस निर्देशिका पर कोई इंडेक्स। html कोई इंडेक्स फ़ाइल नहीं है


यह उत्तर काम करता है। "निर्देशिका लिस्टिंग की अनुमति दी" भाग बहुत महत्वपूर्ण है। यदि इसकी अनुमति नहीं है, तो आप इसे सक्षम कर सकते हैं लेकिन यह हर सर्वर अनुप्रयोग के लिए अलग है।
ट्रैविस

3

फ़ाइल का उपयोग करना: ///// काम नहीं करता है अगर सुरक्षा सेटिंग्स एक मध्यम स्तर पर सेट कर रहे हैं।

यदि आप चाहते हैं कि उपयोगकर्ता नेटवर्क पर स्थित फ़ाइलों को डाउनलोड / देखने में सक्षम हों या साझा करें तो आप IIS में एक वर्चुअल निर्देशिका स्थापित कर सकते हैं। गुण टैब पर सुनिश्चित करें कि "दूसरे कंप्यूटर पर स्थित एक शेयर" चुना गया है और "कनेक्ट के रूप में ..." एक खाता है जो नेटवर्क स्थान देख सकता है।

अपने वेबपेज से वर्चुअल निर्देशिका से लिंक करें (जैसे http: // yoursite / yourvirtualdir / ) और इससे वेब ब्राउज़र में निर्देशिका का एक दृश्य खुल जाएगा।

* आप उपयोगकर्ताओं को फ़ाइलों को जोड़ने की अनुमति देने के लिए वर्चुअल निर्देशिका पर अनुमति लिखने की अनुमति दे सकते हैं, लेकिन इसकी कोशिश नहीं की गई और मान लें कि नेटवर्क अनुमतियां इस सेटिंग को ओवरराइड कर देंगी।


यह आज भी प्रासंगिक है, क्योंकि IE के क्रोम और नए संस्करण स्थानीय फ़ाइल तक पहुंच को अवरुद्ध कर देंगे: // गैर-फ़ाइल वेब पृष्ठों से संसाधन। इसके अतिरिक्त, इसे IIS एक्सप्रेस में चलाने के लिए सेटअप किया जा सकता है, हालाँकि इसे मैन्युअल रूप से जोड़ा और चलाया जाना चाहिए।
श्मुली


1

आप लिंक पते को भी कॉपी कर सकते हैं और सुरक्षा के चारों ओर पाने के लिए इसे एक नई विंडो में पेस्ट कर सकते हैं। यह क्रोम और फ़ायरफ़ॉक्स में काम करता है लेकिन आपको फ़ायरफ़ॉक्स में स्लैश जोड़ना पड़ सकता है।


1

पार्टी के लिए थोड़ा देर हो गई, लेकिन मुझे हाल ही में खुद के लिए इसे हल करना पड़ा, हालांकि थोड़ा अलग है, यह अभी भी किसी को मेरी ही तरह की परिस्थितियों में मदद कर सकता है।

मैं विंडोज़ पर विशुद्ध रूप से स्थानीय वेबसाइट ऐप चलाने के लिए एक लैपटॉप पर xampp का उपयोग कर रहा हूं। (एक बहुत विशिष्ट वातावरण मुझे पता है)। इस उदाहरण में, मैं एक php फ़ाइल में html लिंक का उपयोग करता हूं और चलाता हूं:

shell_exec('cd C:\path\to\file');
shell_exec('start .');

यह एक स्थानीय विंडोज एक्सप्लोरर विंडो खोलता है।


1
होनहार, लेकिन जब मैं फ़ायरफ़ॉक्स में इसे चलाता हूं तो टैब हैंग हो जाता है। (लगता है कि सत्र या कुछ और मंथन किया जा सकता है, क्योंकि मैं अन्य साइटों तक पहुँच सकता हूं, लेकिन यह साइट त्रिशंकु लगती है - यहां तक ​​कि अन्य टैब में भी!)
स्टीफन आर

मैंने इसे फ़ायरफ़ॉक्स में परीक्षण किया है, यह मेरे लिए काम करता है, लेकिन मैं उस फ़ोल्डर को निर्दिष्ट नहीं कर सकता जिसमें खोलना है, यह केवल php फ़ाइल के रूट डायरेक्टरी में खुलता है।
लुकास ट्यूलिया

0

आशा है कि यह किसी दिन मदद करेगा। मैं एक छोटी सी POC बना रहा था और इस पार आ गया। एक बटन, फ़ोल्डर की सामग्री पर क्लिक करें। नीचे HTML है,

<input type=button onClick="parent.location='file:///C:/Users/' " value='Users'>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.