将文件上传到模型ID子目录

时间:2019-07-08 12:10:30

标签: laravel eloquent laravel-nova

我正在Nova中创建健身运动,并使用本机“文件”和“图像”字段来处理上传。但是,我希望将文件存储在型号为ID的子目录中:

- public
  - media
    - {id}
      - video.mp4
      - image.jpeg

在更新现有模型(ID已可用)时,此方法工作正常,但是文件已上传到新练习的基本上传路径public/media。这意味着型号ID在文件上传期间尚不可用。

是否可以通过其他任何方式实现这一目标?您将如何操作,例如:

  • 您能以某种方式对上传进行排队吗(对于加快管理员的工作速度也是一件好事)?排队的任务应该能够访问模型ID,对不对?不过,在Nova中找不到任何有关队列的文档。
  • 收听created事件,获取ID,创建目录,移动文件并更新数据库字段?听起来不错,但还有很多工作要做。
  • 编写用于媒体文件的自定义store过程并在那里处理它?它会在创建模型后还是在将其保存到数据库之前运行,以便没有ID?
  • 仅将ID替换为一些可以预先生成并附加到路径的唯一字符串?您将如何存储它以便以后进行编辑?每次从保存的媒体文件路径中获取它还是将其存储为数据库中的单独字段?

我对Laravel和Nova都是陌生的,还不知道最佳实践。希望对此有任何帮助/建议。

0 个答案:

没有答案