पर किसी फ़ाइल को डाउनलोड लिंक बनाना, मैं एक अलग फ़ाइल सर्वर पर फ़ाइल के लिए एक डाउनलोड लिंक बनाने के लिए (आसानी से, वरीयता से;) के लिए एक रास्ता तलाश रहा हूं।फ़ाइल सर्वर
स्थिति निम्नानुसार है: मैं जिस अनुप्रयोग को विकसित कर रहा हूं (vb.net में asp.net 2.0 लेकिन मेरे पास सी # में एक समान समस्या है, या तो मेरे लिए समाधान काम करता है) एक कंपनी के लिए आंतरिक रूप से चलाया जाएगा। अच्छी प्रैक्टिस के रूप में, फ़ाइल स्टोरेज और वेब एप्लिकेशन दो अलग-अलग सर्वर पर हैं।
मैं मूल रूप से एक फाइल करने के लिए एक डाउनलोड लिंक बनाने में सक्षम होने की जरूरत है, केवल उपलब्ध URL मैं का उपयोग करने की फ़ाइल \ Servername \ folder1 \ folder2 \ folder3 \ file.txt किसी भी तरह (किया जा सकता है है फ़ाइल)
वेबलिंक्स बस काम नहीं करते हैं। इस प्रकार यह वर्तमान में स्थापित है:
tablerowfield.Text = String.Format(
"<a href=""\\servername\folder1\folder2\folder3\{0}""
target=""_blank"">Click me</a>",
filename)
जो स्पष्ट कारणों से काम नहीं करता है। यह उस फ़ाइल को एप्लिकेशन पथ पर लिखने के लिए सेट किया गया था और यह पूरी तरह से काम करता था, लेकिन यह अच्छा अभ्यास नहीं है और इसलिए मैं इसे बदल रहा हूं (या कोशिश कर रहा हूं)।
मैंने एक डाउनलोड पेज बनाने के बारे में समाधान पढ़े हैं और फिर आपके डीबी में एक टेबल है जिसमें लिंक हैं और डाउनलोड के लिए उचित वेब यूआरएल लौटाता है लेकिन दुर्भाग्य से मुझे सामना करने वाली समय की बाधा मुझे विकसित करने की अनुमति नहीं देती है।
मान लिया जाये कि मैंने ऊपर की तरह फाइल करने के लिए पूर्ण filepath के साथ एक स्ट्रिंग प्रदान कर सकते हैं, क्या सिर्फ एक लिंक है, जिसे क्लिक, दस्तावेज़ को डाउनलोड करता है बनाने के लिए सबसे आसान तरीका है?
नोट: मेरे पास इस पर्यावरण में 0 व्यवस्थापक अधिकार हैं। वह वास्तव में मेरी मदद नहीं कर रहा है। आइए मान लें कि मुझे उपरोक्त सही लिंक दिया गया है और उचित फ़ाइल पहुंच अधिकार और ऐसे हैं।
अद्यतन:
ऊपर के उदाहरण फ़ायरफ़ॉक्स और क्रोम में IE में काम करता है, लेकिन नहीं। आईई इसे एक फ़ाइल में परिवर्तित करता है: // servername/... लिंक जो यह करता है, लेकिन एफएफ और क्रोम दोनों ने सक्रिय रूप से निर्णय लिया कि यह असुरक्षित है और इसे अपने ब्राउज़र से अक्षम कर दिया है।
ठीक है मैं हैंडलर काम कर मिल गया की तरह उपयोग कर सकते हैं, लेकिन यह मुझे में त्रुटियों gving रहता है Response.WriteFile। मैं "\\ server \ folder \ file.txt" फ़ॉर्म की एक स्ट्रिंग दर्ज करता हूं और मुझे मिलता है: पथ '/server/folder/file.txt' को मैप करने में विफल रहा मैंने हर संभव फ़ाइल को आजमाया। इस मुद्दे पर कोई अनुभव? – Flater
जैसा कि मैंने पहले ही उल्लेख किया है, आप पहले लिंक, file = otherfile.txt आदि के लिए फ़ाइल = abc.txt जैसे पैरामीटर को पारित कर सकते हैं। तो आपको फ़ाइल नाम गतिशील रूप से मिलेंगे और उन्हें ASHX फ़ाइल में पास कर दिया जाएगा। आपको एएसएचएक्स फ़ाइल की आवश्यकता है ताकि आप उपयोगकर्ता को सर्वर पथ का उपयोग करने के बजाय वहां (आपके डोमेन) से डाउनलोड कर सकें जो क्लाइंट साइड पर मौजूद नहीं है (यदि यह लैन पर नहीं है) – wasimbhalli
ठीक है मेरी पिछली पोस्ट को अनदेखा करें मैं बस सर्वर को छोड़ सकता हूं .Mappath और फिर यह काम करता है :) अभी भी इसे अंतिम रूप देने पर थोड़ा अस्पष्ट है लेकिन आपने मुझे बहुत भयानक मदद की है! धन्यवाद! – Flater