के माध्यम से एक अजाक्स कॉल में अन्य स्ट्रिंग के साथ ऐरेबफर भेजें, मैं एक परियोजना पर काम कर रहा हूं जो सर्वर की ओर बड़ी फाइल अपलोड करने की आवश्यकता है। मैंने फ़ाइलों को फ़ाइल (ArrayBuffer) में अपलोड करने के लिए HTML5 फ़ाइल रीडर और jQuery का उपयोग करने का निर्णय लिया।jQuery
मैंने भाग को बेस 64 स्ट्रिंग में परिवर्तित करके सफलतापूर्वक इस कार्य को समाप्त कर दिया है, JSON प्रारूप में डेटा पैरामीटर के साथ jQuery.post के माध्यम से बैकएंड सर्वर को भेजें।
उदाहरण
$.ajax({
url: "/Home/Upload",
type: "POST",
data: {
name: block.name,
index: block.index,
base64: base64
},
processData: true
});
के लिए लेकिन चूंकि बेस 64 को बदलने के लिए बहुत बड़ी है मैं इस कोड का अनुकूलन करना चाहते हैं। मैं जानना चाहता हूं कि क्या मैं $.ajax
के माध्यम से सीधे ऐरेबफर भेज सकता हूं।
मुझे पता है कि अगर मैं processData: false
सेट करता हूं और केवल डेटा पैरामीटर में ऐरेबफर डालता हूं तो इसे Request.InputStream
के रूप में मेरे सर्वर पक्ष में भेजा जा सकता है। लेकिन इस तरह से मैं अन्य डेटा जैसे name
और index
संलग्न नहीं कर सकता।
मैं जानना चाहता हूं कि मैं एक अन्य अजाक्स कॉल में अपने अन्य डेटा (नाम, अनुक्रमणिका) के साथ अकेले कच्चे ऐरेबफर (या ब्लोब, बाइनरी) भेज सकता हूं।