我的 RN 应用程序是使用 create react native app 创建的。现在我想显示我的 aws s3 存储桶的一些图像。
所以这很好用,如果我公开图像并显示它们:
<Image source={props.pic_url} />
但当然图像应该是私有的,所以我尝试使用 S3 API 加载它们:
export const s3 = new AWS.S3({
apiVersion: '2006-03-01',
params: {Bucket: BUCKET_NAME}
});
let get_pic_params = {
Bucket: BUCKET_NAME,
Key: "pics/0001.jpg"
}
s3.getObject(get_pic_params, function(err, data) {
if (err) {
console.log('There was an error getting a pic: ' + err.message);
} else {
console.log(data);
}
});
输出:
Object {
"AcceptRanges": "bytes",
"Body": Object {
"data": Array [
71,
73,
70,
56,
.
.
.
59,
],
"type": "Buffer",
},
"ContentLength": 45212,
"ContentType": "image/jpeg",
"ETag": "\"c90bf3bb902711c8b1386937341ca9ec\"",
"LastModified": 2017-09-13T12:40:35.000Z,
"Metadata": Object {},
}
这很好用,但我不想将数据作为 console.log 获取,我想将它们显示为图像。我如何使用 create-react-native-app 做到这一点?
我尝试了 react-native-fs 但这不适用于 create-react-native-app