【问题标题】:What is the best way to store assets/content on a react app?在反应应用程序上存储资产/内容的最佳方式是什么?
【发布时间】:2021-04-15 01:59:30
【问题描述】:

我正在开发一款允许用户录制语音笔记的社交应用。 我为测试所做的方法是在应用程序内的文件夹中包含一些 mp3 文件,例如 ./audios/file.mp3 我需要将用户的 mp3 文件和其他资产(如网络中的图像)存储起来,并能够通过 url 获取它们,而不是在应用程序文件中保存文件。 我有什么选择?

【问题讨论】:

    标签: javascript reactjs file file-upload server


    【解决方案1】:

    这里的问题是,您希望将资产作为 blob 存储在数据库中,还是作为文件存储在文件系统中。 Here's a research paper which discusses this.

    将资产存储为文件并不是一个坏主意。您可以做的是使用 UUIDs 命名文件并将 UUID 名称存储在数据库中。

    然后,要检索资产,在服务器端,首先查询数据库以获取文件名并使用文件名检索资产。

    对于节点,包uuid应该是有用的。

    【讨论】:

      【解决方案2】:

      假设您使用 create-react-app 引导反应应用程序。

      将所有资产存储在public 目录中。您可以在公共目录中创建一个assets 文件夹,并将所有资产存储在其中。

      在您的应用程序中,可以使用 PUBLIC_URL 环境变量指向公共目录。

      使用process.env.PUBLIC_URL 检索公共目录并使用${process.env.PUBLIC_URL}/assets 指向资产目录。

      希望你能理解。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-26
        • 2016-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-29
        • 2010-12-05
        相关资源
        最近更新 更多