Ich möchte eine Datei von einem Formular an einen Webworker übertragen. In Chrom kann ich einfach diesen Code verwenden, um ein Dateiliste-Objekt zu übertragen:Datei zu Webworker übertragen: DataCloneError: Das Objekt konnte nicht geklont werden
worker.postMessage(files: array_files);
Aber mit Firefox bekomme ich diesen Fehler:
Transfer file to webworker: DataCloneError: The object could not be cloned.
Also habe ich versucht, die Syntax für übertragbar Objekte zu verwenden. Etwas wie das?
var post = {files: array_files, file_ids: response.file_ids};
worker.postMessage(post, [post]);
Aber mit, dass ich dieses in Chrome
Uncaught DataCloneError: Failed to execute 'postMessage' on 'Worker': Value at index 0 does not have a transferable type.
Und noch
DataCloneError: The object could not be cloned.
in Firefox.
Was ist der richtige Weg, um eine FileList an einen Arbeiter zu übergeben?
Es gibt Mozilla Bug https://bugzilla.mozilla.org/show_bug.cgi?id=823484, so dass Sie kein Glück haben, es sei denn jemand wird es reparieren. Eigentlich bin ich bereit zu reparieren, aber ich bin nicht zufrieden damit, Firefox zu bauen, also wenn jemand sie von mir machen könnte, dann könnte ich mich um Code kümmern – Singagirl
Ich hatte das gleiche Problem, 'Das Objekt konnte nicht geklont werden weil ich mich nur auf den Param in meiner Nachricht bezog. Können Sie mehr Code bereitstellen? – romuleald