मेरे नियंत्रक है इस कोड में अनुरोध वस्तु में एक अपलोड की गई छवि हो रही:MVC छवि में कनवर्ट Base64 स्ट्रिंग, लेकिन ... System.FormatException
[HttpPost]
public string Upload()
{
string fileName = Request.Form["FileName"];
string description = Request.Form["Description"];
string image = Request.Form["Image"];
return fileName;
}
छवि के मूल्य (कम से कम यह की शुरुआत) लग रहा है इस तरह एक बहुत:
byte[] bImage = Convert.FromBase64String(image);
हालांकि, वें:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEAYABgAAD/7gAOQWRvYmUAZAAAAAAB/...
मैं निम्नलिखित का उपयोग कर परिवर्तित करने की कोशिश की System.FormatException देता है: "इनपुट मान्य बेस -64 स्ट्रिंग नहीं है क्योंकि इसमें गैर-बेस 64 वर्ण, दो से अधिक पैडिंग वर्ण या पैडिंग वर्णों के बीच एक अवैध चरित्र शामिल है।"
मुझे यह महसूस हो रहा है कि समस्या यह है कि कम से कम स्ट्रिंग की शुरुआत बेस 64 नहीं है, लेकिन सभी के लिए मुझे पता है कि इसमें से कोई भी नहीं है। क्या मुझे इसे डीकोड करने से पहले स्ट्रिंग को पार्स करने की ज़रूरत है? क्या मैं कुछ पूरी तरह से अलग कर रहा हूँ?
मुझे jpg, gif, png, और bmp को स्वीकार करने की आवश्यकता है, जो मुझे लगता है कि इसे अपने तरीके से संभालने के लिए जांचने के लिए बहुत सारे नहीं हैं (यह मानते हुए)। हालांकि, मैं मदद नहीं कर सकता लेकिन सोचता हूं कि उस छवि को पार्स करने का एक सही तरीका है। पहले 20 या इतने पात्रों में इतने सारे संभावित डिलीमीटर ... यह एक संयोग नहीं हो सकता है। – ESDictor
ठीक है, मुझे लगता है कि 'डेटा का प्रारूप: [सामग्री-प्रकार]; [एन्कोडिंग], [डेटा] 'काफी उचित है ... –
मुझे इसे सोमवार को परीक्षण करने की आवश्यकता है ... यदि यह काम करता है तो मैं चिह्नित करूंगा आपका उत्तर – ESDictor