【问题标题】:Uint8Array to JavaScript ObjectUint8Array 到 JavaScript 对象
【发布时间】:2017-09-15 01:38:29
【问题描述】:

我正在尝试使用 getObject 函数从我的 AWS S3 存储桶中获取一个对象,但是,它似乎返回了一个 Uint8Array - 这是an array of 8-bit unsigned integers。我不知道如何将其转换回我存储在 S3 存储桶中的对象。

有人知道怎么做吗?
谢谢。

编辑:

对象看起来像这样:

awsServices.getObject(core.splitUrlOff(key)).then(object => ({
    key: object.key,
    description: object.description,
    likes: object.likes,
    location: object.location,
    time: object.time,
    uuids: object.uuids,
    views: object.views
}))

【问题讨论】:

  • 这个object存储了什么?
  • 我已经更新了我的答案
  • 我可能完全不在这儿了,如果是这样的话很抱歉,但是 s3 不是存储文件吗?你不应该使用另一种解决方案来存储这样的数据吗?像亚马逊简单的数据库
  • 我之前已经成功地从我的存储桶中获取对象,但使用 listObjectsV2 函数。我还使用 getObject 从我的存储桶中获取了一个 .txt 文件,但我还没有使用 getObject 来检索实际对象。

标签: javascript amazon-web-services amazon-s3 uint8array


【解决方案1】:

这需要一个 Unit8Array 对象,将其转换为字符串,然后将该字符串转换为对象。

我想通了。在这里找到tomfa的代码:BinArraytoJson我只是做了:

var binArrayToJson = function(binArray) {
    var str = "";
    for (var i = 0; i < binArray.length; i++) {
        str += String.fromCharCode(parseInt(binArray[i]));
    } 
    return JSON.parse(str)
}

然后: JSON.parse(binArrayToJson(yourBinArray));

这是我的回答:https://stackoverflow.com/a/51659985/7223300

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 2018-08-21
    • 2019-01-22
    • 1970-01-01
    • 2021-05-10
    相关资源
    最近更新 更多