मैं एक छवि के सामग्री-प्रकार और फ़ाइल नाम को पुनर्प्राप्त करने का प्रयास कर रहा हूं जिसे मैं बेस 64 एन्कोडेड प्रारूप में प्राप्त कर रहा हूं।रेल नाम पर बेस 64 एन्कोडेड छवि रूबी से फ़ाइल नाम और सामग्री-प्रकार पुनर्प्राप्त करें
यहाँ कोड है जो बेस 64 इनकोडिंग छवि
require 'net/http'
require "rubygems"
require 'active_support'
url = URI.parse('http://localhost:3000/')
image = ActiveSupport::Base64.encode64(open("public/images/rails.png").to_a.join)
post_params = {'image' => image }
Net::HTTP.post_form(url, post_params)
नियंत्रक के साथ एक पोस्ट अनुरोध कर रहा है, मैं इस छवि की सामग्री प्रकार और फ़ाइल नाम पाने के लिए की जरूरत है। तो सबसे पहले मैं इसे
image = ActiveSupport::Base64.decode64(params[:image])
image_data = StringIO.new(image)
और फिर मैं अटक गया हूँ!
मैं मूल रूप से पेपरक्लिप का उपयोग करके इस छवि को सहेजना चाहता हूं। कुछ गंभीर मदद की ज़रूरत है!
अद्यतन: मैं सामग्री प्रकार और फ़ाइल नाम के लिए पैरामीटर नहीं भेज सकते। मैं सिर्फ क्लाइंट की नकल कर रहा था जो इसे भेज रहा है (और मेरे पास अतिरिक्त पैरा जोड़ने पर कोई नियंत्रण नहीं है)
क्या आप अभी एक और post_param नहीं जोड़ सकते हैं? कुछ '{filename' => 'rails.png'} – Serabe
नहीं! मैं जिस एपीआई के लिए विकास कर रहा हूं, वह कोई अन्य पैराम नहीं भेजता है। केवल छवि डेटा एन्कोड किया गया। इसलिए, मैं जानना चाहता हूं कि यह कोई अन्य पैराम भेजने के बिना संभव है या नहीं। – Madhusudhan
आप कुछ सहेजने के लिए उपयोगकर्ता द्वारा प्रदान किए गए फ़ाइल नाम का उपयोग करने के बारे में सोच नहीं रहे हैं, है ना? यह एक बुरा विचार है। –