0

我想使用 phonegap 将一些二进制数据(例如图像或 zip)上传到服务器,并接收二进制作为响应。可能吗?虽然上传与存储在磁盘上的文件非常有效,但FileTransfer我无法让它与 blob 一起使用

var blob = new Blob([something], {type: 'application/zip'});
var blobUrl = window.URL.createObjectURL(blob);
var ft = new FileTransfer();
ft.upload(blobURL, encodeURI('http://server'), win, fail, options);

blobURL 当然类似于

blob:1234-...

FileTransfer 没有找到。我尝试先保存 blob,将其路径传递给FileTransfer- 但 PhonegapsFileWriter无法处理blob.

使用xhr不是一个选项,因为您无法在 Phonegap (WP8) 中接收二进制文件。该Mimetypeoverride技巧在这种情况下不起作用,因为 Internet Explorer xhr 没有此选项。

我正在使用 Windows Phone 8。

4

1 回答 1

0

您不能通过 Phonegap 文件传输发送二进制数据。

您的二进制数据必须转换为BASE64字符串,然后传输到服务器。同样的事情也适用于另一种方式。

这是一个如何使用 Phonegap 处理二进制数据传输的教程:http: //blog.safaribooksonline.com/2012/03/01/phonegap-tip-binary-filesystem-data/

于 2013-05-09T14:38:57.607 回答