asp.net mvc - Having troubles calling a Controller Post Method -
यह मेरी विधि है
[स्वीकार वीरब्स (एचटीपीवीर्ब्स.पोस्ट)] सार्वजनिक शून्य सेवइमेज (फॉर्मकॉलेक्शन FormValues) {बाइट [] सामग्री = कन्वर्ट.फॉंबबेस 64 स्ट्रिंग (अनुरोध। फ़ार्म ["फ़ाइल"]); System.IO.File.WriteAllBytes (Server.MapPath (Request.Form ["name"]), सामग्री); }
इस क्रिया स्क्रिप्ट विधि से पोस्ट हो रही है:
सार्वजनिक फ़ंक्शन एन्कोड औरस्वेव (e: MouseEvent = null): शून्य {var date: date = नई तारीख़(); Var द्वारा: बाइटअरे = PNGEnc.encode (canvas.main_bdata); Var req: URLRequest = नया URLRequest (server_path + "होम / सेवइमेज"); Var पैराम्स: URLVariables = नया URLVariables (); Params.file = Base64.encodeByteArray (द्वारा); Params.name = "MyImage.png"; Req.method = URLRequestMethod.POST; Req.data = params; Var ldr: URLLoader = नया URL लोडर (अनुरोध); Ldr.addEventListener (इवेंट। कॉमप्ले, पूरा); ldr.load (अनुरोध); कार्य पूर्ण (ई: ईवेंट): शून्य {navigateToURL (नया URLRequest ("?" + Math.random ()), "_self"); }}
लेकिन जब सांकेतिक और एंड्रॉएव विधि चलता है, कोई भी फाइल सर्वर पर सहेज ली नहीं जाती ...
क्या किसी को यह बताने के लिए कि कैसे बचतइमेज़ विधि भी चला गया है ? इसके अलावा, जब मैं टाइप करता हूं: एड्रेस बार में कहता है "संसाधन नहीं मिल पाए"
किसी के पास कोई भी विचार है कि वह यह क्यों कर रहे होंगे या इसे समझने की कोशिश करने के लिए मैं क्या कर सकता हूं?
अगर आपको और अधिक जानकारी की आवश्यकता है तो कृपया मुझे बताएं और मैं मेरे प्रश्न का अद्यतन कर दूंगा।
धन्यवाद,
मैट
मैं इसके साथ [बहुत] समस्या थी और मैंने इसे अंत में प्रयोग किया था;
देखें :
& lt;% का प्रयोग (HTML शुरुआतीफॉर्म ("फोटोएड्ड", "फोटो", फॉर्ममैथ.पस्ट, नया {enctype = "multipart / form-data"})) {% & gt; & Lt; इनपुट प्रकार = "फ़ाइल" id = "file" name = "file" class = "field" शैली = "चौड़ाई: 300px;" / & gt; & Lt;%}% & gt;
नियंत्रक :
var फ़ाइल = अनुरोध। फाइलें ["फ़ाइल"]; बाइट [] buf = नया बाइट [file.ContentLength]; File.InputStream.Read (buf, 0, file.ContentLength);
मुझे यकीन नहीं है कि यह वही है जो आप देख रहे हैं लेकिन जैसा कि मैंने कहा कि मेरे पास कई समस्याएं हैं जो मेरे प्रयोक्ताओं को अपनी वेब साइट पर एक तस्वीर अपलोड करने की इजाजत दे।
असल में मैं एक दृश्य है जिसमें उस पर "फ़ाइल" प्रकार का एक फ़ील्ड और पोस्ट बैक ईवेंट के लिए "सबमिट" बटन होता है।
फिर नियंत्रक में मेरे पास निम्न है; < / P>
[AcceptVerbs (HttpVerbs.Post), प्राधिकृत करें) सार्वजनिक कार्यप्रणाली फोटोअड्ड (फ़ॉर्मकॉल्यूशन संग्रह) {try {var file = Request.Files ["file"]; बाइट [] buf = नया बाइट [file.ContentLength]; File.InputStream.Read (buf, 0, file.ContentLength);
मैंने जिस कठिनाई में भाग लिया था, वह नियंत्रक को फ़ाइल नाम और पथ के साथ अनुरोध प्राप्त कर रहा था। एक बार जब मैंने यह किया था कि मैं फ़ाइल को बाइट की एक सरणी में कनवर्ट कर सकता हूं, तब मैं एक एसक्यूएल डाटाबेस और एक छवि फ़ील्ड में सहेज सकता था।
सबसे बड़ी बात जो मुझे याद आ रही थी वह दृश्य में विधि विधि थी ("फोटोएड्ड", "फोटो", फॉर्ममैथ.पस्ट, नया {enctype = "multipart / form-data"}) {% का उपयोग करके
& lt;% पढ़ने की आवश्यकता है। & gt;
एनकटाइप आपको चयनित फ़ाइल के फ़ाइल नाम और पथ को लेने और नियंत्रक को इनपुटस्ट्रीम को पकड़ने में सक्षम होने की अनुमति देता है। इसके बिना मैंने पाया कि या तो अनुरोध। फाइलें रिक्त थीं या केवल उस फ़ाइल का नाम दिया गया था और इसलिए इसे खोल नहीं सकता।
एक बार जब आप छवि को अपने डेटाबेस में सहेज लेते हैं, तो उसे प्रदर्शित करना एक डोडल है। / P>
मुझे आशा है कि यह आपके प्रश्न का उत्तर देगा।
Comments
Post a Comment