Transfer-Datei für webworker: DataCloneError: Das Objekt konnte nicht geklont werden

Ich möchte eine Datei zu übertragen, aus einem Formular in eine webworker. In chrome, die ich einfach verwenden kann, diesen code zu übertragen, ein FileList-Objekt:

worker.postMessage(files: array_files);

Aber mit Firefox bekomme ich diese Fehlermeldung:

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

Also habe ich versucht, verwenden Sie die Syntax für Objekte übertragbar. So etwas wie das?

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

Aber mit, dass ich diese 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 pass eine FileList zu einem Arbeiter?

  • Es ist Mozilla-bug bugzilla.mozilla.org/show_bug.cgi?id=823484, so sind Sie kein Glück, es sei denn, jemand wird es zu beheben. Tatsächlich bin ich bereit, das zu beheben, aber ich bin mir nicht bequem machen-Firefox-builds, also wenn das jemand machen könnte, her, mir, dann könnte ich mich kümmern-code
  • Ich hatte das gleiche problem, The object could not be cloned. war, denn ich war nur eine Anspielung auf die param in meiner Nachricht. Kannst du uns mehr code?
Schreibe einen Kommentar