/ / किसी विशिष्ट स्थान में डाउनलोड की गई फ़ाइल को सहेजने के लिए ब्राउज़र को बाध्य करें - c #, asp.net-mvc-4, डाउनलोड

किसी विशिष्ट स्थान पर डाउनलोड की गई फ़ाइल को सहेजने के लिए ब्राउज़र को बाध्य करें - c #, asp.net-mvc-4, डाउनलोड

मेरा प्रोजेक्ट ए है Asp.Net MVC4 वेब एप्लीकेशन।

वर्तमान में इसमें टेक्स्ट फाइल जेनरेट करने और क्लाइंट के ब्राउजर में डाउनलोड के लिए भेजने की विधि है।

मुझे क्लाइंट के कंप्यूटर पर कस्टम (पूर्व-परिभाषित) स्थान पर फ़ाइल को सहेजने के लिए ब्राउज़र को मजबूर करने के लिए इसे संशोधित करने की आवश्यकता है।

उत्तर:

जवाब के लिए 0 № 1

यह संभव नहीं होगा क्योंकि यह एक गंभीर सुरक्षा समस्या पेश करेगा। एक उपयोगकर्ता को यह तय करना होगा कि फ़ाइल कहाँ सहेजी जाएगी।

आप केवल उस सर्वर पर एक स्थान निर्दिष्ट कर सकते हैं जिस पर आपकी पहुँच है।

यदि इसकी एक आंतरिक साइट है, तो आप फ़ाइल को नेटवर्क स्थान पर सहेजने के लिए सर्वर को सेटअप कर सकते हैं और उपयोगकर्ता को उस रास्ते पर वापस ला सकते हैं।

यदि आप एक सहेजना दिखाना चाहते हैं, तो फ़ाइल डाउनलोड को इंगित करने के लिए इसे अपने ActionResult में जोड़ें:

Response.SetCookie(new HttpCookie("fileDownload", "true") { Path = "/" });
return myFileStreamResult

जवाब के लिए 0 № 2

आपका वेब एप्लिकेशन केवल आपके क्लाइंट को फ़ाइल भेज सकता है। डाउनलोड करने और स्थानिक स्थान को बचाने के लिए मजबूर करने के लिए, क्योंकि डाउनलोड और विशेषाधिकार को बचाने के लिए ग्राहक ब्राउज़र से संबंधित है।

यदि उपयोगकर्ता डिफ़ॉल्ट डाउनलोड स्थान को परिभाषित नहीं करता है, तो यहजब कुछ डाउनलोड करने के लिए सहेजा जाएगा, तो यदि उपयोगकर्ता पहले से ही डिफ़ॉल्ट डाउनलोड स्थान परिभाषित करता है। यह स्वचालित रूप से डाउनलोड करेगा और डिफ़ॉल्ट स्थान पर सहेजेगा।

इसलिए मुझे लगता है कि आपको अपने वेब तर्क के साथ थोड़ी गलतफहमी है: डी


जवाब के लिए 0 № 3

मुझे फ़ाइलों को एक में डाउनलोड करने और सॉर्ट करने की आवश्यकता थीउपयोगकर्ता की गलतियों की संभावना के साथ ग्राहक मशीन पर कठोरता से परिभाषित निर्देशिका संरचना। आदर्श रूप से यह पूरी तरह से स्वचालित होगा। मैं इसे पूरी तरह से स्वचालित नहीं बना सका, लेकिन विंडोज में क्रोम में, मैंने गलतियों को टाइप करने की संभावना को समाप्त कर दिया:

<a class="aDownload" href="file.txt" download="CTRL+V for suggested path/file">Download</a>
<textarea id="textareaClipboard"></textarea>

लिंक के एक क्लिक के लिए सुनने के लिए jQuery का उपयोग करना, मैं वांछित पथ और अंतिम फ़ाइल नाम उत्पन्न करने के लिए एक फ़ंक्शन को कॉल करता हूं, इसे टेक्स्टारिया में डाल देता हूं, और क्लिपबोर्ड का उपयोग करके इसे स्थानांतरित करता हूं

jQuery("#textareaClipboard").select();
document.execCommand("copy" ,null ,null);

फ़ाइल नाम फ़ील्ड में सेव अस डायलॉग "सुझाए गए रास्ते / फ़ाइल के लिए CTRL + V" के साथ पॉप अप होता है। जनरेट किए गए फ़ाइल नाम को इस फ़ील्ड में पेस्ट करने के लिए सुझाव का पालन करें, और एंटर दबाएं।

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