【问题标题】:How to upload files from React-native to S3 and store filename via REST API如何将文件从 React-native 上传到 S3 并通过 REST API 存储文件名
【发布时间】:2019-09-04 18:35:02
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: django react-native amazon-s3 django-rest-framework


    【解决方案1】:

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

    查看link 了解第一个选项。

    【讨论】:

    • 是否可以通过 REST API 将文件从 React-native 发送到 Django,以及将嵌套数据发送到数据库中的多个表?
    • 是的。你在用django-rest-framework吗?如果是,那么如果它们是因为外键而嵌套的,那么它通过在模型中提及 related_name 然后在父序列化程序类中定义其序列化程序来提供开箱即用的服务。如果不使用 django-rest,您始终可以编写自己的 POST 处理程序来解析请求并使用数据调用 model.create()
    • 是的,我正在使用 django-rest-framework。我正在使用 axios 将数据发送到 REST API,但它可以使用 JSON 工作吗?有些帖子建议使用 FormData 但我不知道是否支持嵌套数据
    • 是的。确实如此。我只使用 axios 将 post/put 与嵌套的 json 对象一起使用。
    猜你喜欢
    • 2019-07-25
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    相关资源
    最近更新 更多