2

我需要序列化一些 blob 以发送到 php。我还希望能够在 php 脚本将其发回时对其进行反序列化。JSON 不会对 blob 的内容进行字符串化,只是对名称、大小等元数据进行字符串化。我该怎么做?

4

1 回答 1

2

要发送多个Blobs,您可以append()将它们发送到一个FormData实例,然后您可以.send()使用XMLHttpRequest.

var xhr = new XMLHttpRequest();
var form = new FormData();

form.append('field-name', blob1);
form.append('field-name', blob2, 'filename.ext');

// ...

xhr.send(form);

要接收Blob,您可以设置responseType并获取response

xhr.responseType = 'blob';
xhr.onload = function () {
    var blob = xhr.response;
};

有关更多信息,请查看 MDN 的“发送和接收二进制数据”。

另请注意,所有这些都需要XMLHttpRequest Level 2

于 2013-08-23T04:13:06.957 回答