Cordova 使用Phonegap FileTransfer上载blob-并接收二进制文件

Cordova 使用Phonegap FileTransfer上载blob-并接收二进制文件,cordova,binary,base64,file-transfer,Cordova,Binary,Base64,File Transfer,我想使用phonegap将一些二进制数据(例如图像或zip)上传到服务器,并接收二进制作为响应。可能吗? 虽然上传可以很好地处理文件传输和存储在磁盘上的文件,但我无法让它处理blob var blob = new Blob([something], {type: 'application/zip'}); var blobUrl = window.URL.createObjectURL(blob); var ft = new FileTransfer(); ft.upload(blobURL, e

我想使用phonegap将一些二进制数据(例如图像或zip)上传到服务器,并接收二进制作为响应。可能吗? 虽然上传可以很好地处理
文件传输
和存储在磁盘上的文件,但我无法让它处理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);
布洛布尔当然是这样的

blob:1234-...
找不到哪个文件传输。我试图先保存blob,将其路径传递到
FileTransfer
——但是Phonegaps
FileWriter
无法处理
blob

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


我正在使用Windows Phone 8。

您无法通过Phonegap文件传输发送二进制数据

您的二进制数据必须转换为BASE64字符串,然后传输到服务器。同样的道理也适用于其他方面

以下是如何使用Phonegap处理二进制数据传输的教程: