2014-09-26 11 views
6

मैं किसी फ़ाइल से किसी वेबवर्कर में फ़ाइल को स्थानांतरित करना चाहता हूं। क्रोम में मैं सरल एक FileList-वस्तु हस्तांतरण करने के लिए इस कोड का उपयोग कर सकते हैं:वेबवर्कर को फ़ाइल स्थानांतरित करें: DataCloneError: ऑब्जेक्ट को क्लोन नहीं किया जा सका

worker.postMessage(files: array_files); 

लेकिन मैं Firefox से यह त्रुटि मिलती है:

Transfer file to webworker: DataCloneError: The object could not be cloned. 

तो मैं हस्तांतरणीय वस्तुओं के लिए सिंटेक्स का उपयोग करने की कोशिश की। कुछ इस तरह?

var post = {files: array_files, file_ids: response.file_ids}; 
worker.postMessage(post, [post]); 

लेकिन उस के साथ मैं क्रोम

में इस मिल
Uncaught DataCloneError: Failed to execute 'postMessage' on 'Worker': Value at index 0 does not have a transferable type. 

और फिर भी

DataCloneError: The object could not be cloned. 
फ़ायरफ़ॉक्स में

किसी कार्यकर्ता को फ़ाइललिस्ट पास करने का सही तरीका क्या है?

+0

मोज़िला बग https://bugzilla.mozilla.org/show_bug.cgi?id=823484 है, इसलिए जब तक कोई इसे ठीक नहीं करेगा तब तक आप भाग्य से बाहर हैं। असल में मैं ठीक करने के लिए तैयार हूं, हालांकि मैं फ़ायरफ़ॉक्स बनाने में सहज नहीं हूं, इसलिए यदि कोई मुझे उन्हें बना सकता है, तो मैं कोड – Singagirl

+0

पर ध्यान रख सकता हूं, मुझे एक ही समस्या थी, 'ऑब्जेक्ट को क्लोन नहीं किया जा सका।' वह था क्योंकि मैं सिर्फ अपने संदेश में परम के प्रति प्रतिक्रिया दे रहा था। क्या आप अधिक कोड प्रदान कर सकते हैं? – romuleald

उत्तर

4

मुझे नहीं पता कि पोस्ट मैसेज के साथ फ़ाइल ऑब्जेक्ट्स को कैसे पास किया जाए, लेकिन कम से कम मैं सलाह दे सकता हूं कि हस्तांतरणीय वस्तुएं इस तरह से काम नहीं करती हैं। वैकल्पिक दूसरा पैरामीटर किसी भी टाइप किए गए सरणी के बैकिंग ऐरेबफर उदाहरणों की एक सरणी है जिसे आप पास करना चाहते हैं। तो उदाहरण के लिए, संदेश आप पोस्ट करने के लिए चाहते हैं लगता है एक संरचित वस्तु है:

var message = {foo: 'abc', bar: new Uint8Array(...)}; 

worker.postMessage(message, [message.bar.buffer]) 

भी ध्यान दें कि एक हस्तांतरणीय वस्तु के रूप में एक और कार्यकर्ता/खिड़की करने के लिए एक टाइप किया सरणी गुजर बनाता हस्तांतरित सरणी भेजने के कार्यकर्ता से दुर्गम/खिड़की।

संबंधित मुद्दे