【问题标题】:Storing and Retrieving Uploaded File with Laravel and Vue JS使用 Laravel 和 Vue JS 存储和检索上传的文件
【发布时间】:2020-09-25 06:46:56
【问题描述】:

我目前正在开发 Vue JS + Vuetify + Axios + Laravel 架构,我正在制作仪表板。目前我正在处理用户个人资料,他们可以在其中为他们的头像上传图片,但也可以上传他们的营业执照(通过不同的上传者)。 用户需要能够在以后修改更新这些文档。 以适当的安全性很好地实现此要求的最佳策略是什么? 使用随机+用户名重命名文件后,将文件存储在 Laravel 的私有区域还是公共区域? 将文件作为blob直接存储在mysql中并检索? 仅在将文件存储在 Laravel 树下的公共/私有文件夹中时将文件的路径存储在 mysql 中? 对于身份验证,我计划使用 jwt 和 websanova。

【问题讨论】:

    标签: laravel vue.js axios


    【解决方案1】:

    您存储头像的位置取决于它需要显示的位置。它只会显示给该用户吗?其他登录用户?未经身份验证的用户?

    关于用户的营业执照,我会将其存储在不可公开访问的文件夹中,并通过 API 端点进行访问。这样你就可以通过你的 Laravel 控制器实现必要的安全规则。

    一般来说,我会避免将文件存储在数据库中。在other things 中,您正在膨胀数据库的大小,这会影响备份/恢复。如果您需要扩展您的应用程序,将文件存储在文件系统上还可以让您在某些时候更轻松地迁移到云存储(例如 Amazon S3)。

    【讨论】:

    • 头像将仅用于登录用户
    猜你喜欢
    • 2020-11-28
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2019-06-28
    • 2018-06-19
    • 2021-09-26
    相关资源
    最近更新 更多