【问题标题】:byte array to file in appcelerator字节数组到 appcelerator 中的文件
【发布时间】:2017-11-25 11:03:06
【问题描述】:

我正在使用以下代码将从 API 接收到的字节数组转换为文件对象:

var buffer = [73,109,112,111,114,116,115,32,83,121,115,116,101,....];//byte array
var outBuffer = Ti.createBuffer({length: size });
        for(var i=0;i<size;i++){
            outBuffer[i] = buffer[i];
        }
var inBufferStream = Ti.Stream.createStream({ source: outBuffer, mode: Ti.Stream.MODE_READ });
var outFileStream = Ti.Filesystem.getFile("test.txt").open(Ti.Filesystem.MODE_WRITE);
var bytesWritten = Ti.Stream.writeStream(inBufferStream, outFileStream, 1024);
outFileStream.close();

创建文件需要太多时间。

在 appcelerator 中有没有更好的方法来做到这一点?请帮忙。

【问题讨论】:

    标签: file titanium appcelerator iostream


    【解决方案1】:

    请尝试以下代码 -

    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);因为数据是在没有上述行的情况下写入文件的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 2021-05-25
    • 2019-01-22
    • 1970-01-01
    相关资源
    最近更新 更多