首页 > 解决方案 > 如何将文件从 React-native 上传到 S3 并通过 REST API 存储文件名

问题描述

我在如何使用 Amazon AWS S3 作为图像/文件存储和使用 REST API 的 Django 后端以最佳方式构建我的 React-native 应用程序时遇到了两难境地。

我的 react-native 应用程序必须能够从用户那里收集信息以及几个图像和签名。我将所有信息保存为 redux 中的道具,并且可以使用我用作后端系统的 Django 中的 Rest API 成功地将其传输到数据库。我也可以将图像发送到 Amazon AWS S3 存储桶,但这是一个单独的操作。

我的困境是,首先将图像发送到 S3,然后在 REST API 调用中发送文件名以及从应用程序中从用户收集的其他信息是否是一种好习惯?

通过这种方式,我在 S3 上的位置有文件,我可以使用它们来创建将由 Django 后端系统完成的 PDF 文件。

标签: djangoreact-nativeamazon-s3django-rest-framework

解决方案


您应该使用 AmazonS3 作为 Django 的存储后端,使用S3Boto3Storage. 这将使它成为一个单一的操作,并让 django 访问 S3。其他选项也是将 S3 作为文件系统安装在运行 django 的机器上,并将MEDIA路径作为安装位置。不过,这会在每次机器启动时添加一个安装 S3 的步骤。

查看此链接以获取第一个选项。


推荐阅读