जो मैं पूरा करने का प्रयास कर रहा हूं वह कुछ बाइनरी डेटा अपलोड करना है, विशेष रूप से एक PNGArray एक पीएनजी छवि का प्रतिनिधित्व करना, URLRequest के साथ URLLoader क्लास का उपयोग कर सर्वर पर।अप्रत्याशित फ्लैश सुरक्षा अपवाद URLLoader का उपयोग करते समय
जब मैं contentType
URLRequest की डिफ़ॉल्ट रूप से 'multipart/form-data' की प्रॉपर्टी सेट करता हूं, तो urlLoader.load()
पर कॉल सुरक्षा अपवाद में परिणाम देता है।
जब मैं contentType
संपत्ति को डिफॉल्ट के रूप में छोड़ देता हूं, तो यह ठीक काम करता है, लेकिन सर्वर पर फ़ाइल अपलोड करने के लिए लंबे समय तक (पीएनजी फ़ाइल की लंबाई के समान) लेता है।
तो, मेरा सवाल यह है कि मुझे यह सुरक्षा अपवाद क्यों मिल रहा है? और मैं इससे कैसे बच सकता हूं?
ध्यान दें कि मेरे एसडब्ल्यूएफ को विकास सर्वर से सेवा दी जा रही है, न कि स्थानीय फाइल सिस्टम (Google ऐप इंजन विकास सर्वर सटीक होना)।
यहाँ कोड है:
var pngFile:ByteArray = PNGEncoder.encode(bitmapData);
var urlRequest:URLRequest = new URLRequest('/API/uploadImage');
// With this line of code, the call to urlLoader.load() throws the following security exception:
// 'SecurityError: Error #2176: Certain actions, such as those that display a pop-up window, may only be invoked upon user interaction, for example by a mouse click or button press.'
urlRequest.contentType = 'multipart/form-data';
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = pngFile;
urlRequest.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache'));
urlLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
urlLoader.addEventListener(Event.COMPLETE, onUploadComplete);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onUploadError);
NextFrame.addCallback(function() {
urlLoader.load(urlRequest);
});
आपको बहुत बहुत धन्यवाद! मैं कल रात घंटों तक फंस गया था ... मुझे कुछ सामान ट्विक करना पड़ा, इसलिए मेरा जवाब देखें कि यह कैसे काम करता है – Cameron
आपका स्वागत है। हाँ, सीमा के बारे में जानना अच्छा है। सादर। – evilpenguin
आपको बहुत बहुत धन्यवाद ... मैं शायद ही कभी फ़्लैश देव करता हूं, लेकिन मुझे एक अपलोडर अपडेट करना आवश्यक था, और अंत में मुझे बचाया :) – will