【发布时间】:2013-11-20 10:58:28
【问题描述】:
我有一个 SOAP API,它返回给我一个文件,该文件被分成多个 base64 字符串编码的块
我无法将其保存到文件系统而不破坏它
This is the pastebin 整个文件的编码,原样,一旦我下载并链接响应。
怎样才能正确保存呢?
我尝试了很多方法
var f = Ti.FileSystem.getFile(Ti.FileSystem.tempDirectory, 'test.pdf');
...
var blobStream = Ti.Stream.createStream({ source: fileString, mode: Ti.Stream.MODE_READ });
var newBuffer = Ti.createBuffer({ length: fileString.length });
f.write(fileString);
或
var data = Ti.Utils.base64decode(fileString);
var blobStream = Ti.Stream.createStream({ source: data, mode: Ti.Stream.MODE_READ });
var newBuffer = Ti.createBuffer({ length: data.length });
var bytes = blobStream.read(newBuffer);
f.write(fileString);
或
var data = Ti.Utils.base64decode(fileString);
var blobStream = Ti.Stream.createStream({ source: data, mode: Ti.Stream.MODE_READ });
var newBuffer = Ti.createBuffer({ length: data.length });
var bytes = blobStream.read(newBuffer);
f.write(bytes);
但我不明白哪一个是正确的道路
我必须自己将字符串转换回 byteArray 吗? 什么是正确的保存方法?
我必须从字符串中创建缓冲区还是...?
【问题讨论】:
-
在你所有的例子中你引用
f,这是什么?一份文件?文件流? -
我编辑,我给它一个文件
标签: javascript titanium buffer filestream appcelerator