1

我从 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。当我使用 Adob​​e Reader 打开文件时,它说 Adob​​e Reader 无法打开 filename2.pdf,因为它不是有效文件或已损坏(例如,它作为电子邮件附件发送并且未正确解码)。

4

1 回答 1

0

Web 服务调用是否仅返回文档,或者响应中是否包含其他数据?

我们使用更简单的方法取得了成功。如果服务只是返回文档,请尝试将第二行更改为类似这样的内容:

    var ResponseData =  xhrDocument.responseText; 
于 2013-05-24T14:12:05.960 回答