我从Web服务获得了响应数据,这是base64binary数据。 我想将这个base64binary数据加载到钛合金[版本3.1.0.2]的Web视图中。 数据base64binary是pdf文件。
Ti.API.info('Status is ::',xhrDocument.status);
var ResponseData = xhrDocument.getResponseXML().getElementsByTagName('GetDocResult').item(0).text;
var file = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory,'pdfbinarray.pdf');
if(xhrDocument.status == 200){
var file = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, 'filename2.pdf'); file.write(xhrDocument.getResponseXML().getElementsByTagName('GetDocResult').item(0).text);
Titanium.API.info('file write');
Titanium.API.info(file.size);
}
上面的代码在我的Documents目录中创建了filename2.pdf。当我使用Adobe Reader打开文件时,它表示Adobe Reader无法打开filename2.pdf,因为它不是有效文件或已损坏(例如,它是作为电子邮件附件发送的,未被正确解码)。
答案 0 :(得分:0)
Web服务调用仅返回文档,还是响应中包含其他数据?
我们使用更简单的方法取得了成功。如果服务只是返回文档,请尝试将第二行更改为更像这样的内容:
var ResponseData = xhrDocument.responseText;