2017-04-03 69 views
2

我正在学习React Native,之前我使用过AWS S3,我在我的桶中设置了一些图像,我想从我的代码中进行GET,并且将图像设置为私有。使用AWS S3 API与本机反应

我想使用React Native方式调用S3 API,就像我在我的Angular2项目中一样。我在网上查了一下,发现只有第三方插件用于上传图片到S3。

我该如何在原生var s3 = new AWS.S3();中创建一个新的S3对象,并调用像s3.listBuckets(function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });这样的函数,或者简单地在我的存储桶中获取私有图像。

非常感谢!

+0

我会开始考虑这一点,因为我也很好奇。我首先要问,你知道如何制作任何类型的服务器端逻辑/请求?仅仅因为它是React-Native,并不意味着你没有服务器与你的应用进行通信。看起来你的服务器会做这个请求。但是,如果你想这样做所有基于客户端,并且全部使用React Native,请告诉我。 –

+0

@JimFactor谢谢,我刚开始构建这个应用程序,我想在用户打开应用程序时加载图像,它直接从我的代码初始化函数从S3读取图像。我知道如何用其他语言制作服务器端请求。 –

回答

1

此功能现在提供了新的AWS扩增出库的AWS官方回购:https://github.com/aws/aws-amplify

您可以使用存储模块:https://github.com/aws/aws-amplify/blob/master/media/storage_guide.md

import { Storage } from 'aws-amplify' 
Storage.configure({ level: 'private' }); 
Storage.get('myfile.gif'); 

这是一个私有图像的一个例子,但你可以在图书馆做更多的事情。它还将使用来自与Amazon Cognito集成的Auth模块的Authenticated或UnAuthenticated状态的用户凭证。