加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 活动存储/清理文件URL

发布时间:2020-12-16 19:05:03 所属栏目:百科 来源:网络整理
导读:关于同一问题的多个问题,主动存储返回文件URL的方式 现在使用默认设置,以下(云或本地)以某种方式返回以下内容: _domain / _path / _superlong_hash / _original_filename._ext 给定回形针或许多其他现有的宝石,_path / _superlong_hash / _original_filenam
关于同一问题的多个问题,主动存储返回文件URL的方式

现在使用默认设置,以下(云或本地)以某种方式返回以下内容:

_domain / _path / _superlong_hash / _original_filename._ext

给定回形针或许多其他现有的宝石,_path / _superlong_hash / _original_filename._ext部分可以自定义,最终可以在任何文件的干净URL中

意思是:

>有没有办法用更自定义的东西“代理”_path?
>有没有办法避免_superlong_hash?
>有没有办法即时(或上传)自定义文件名?

为了使它成为一个单行,如何自定义文件URL?

我在这里和那里看到人们最终创建自定义控制器以提供具有体面网址的文件,但让我们承认这是不行(恕我直言)

解决方法

我希望ActiveStorage很快证明我错了,但在编写Rails 5.2时,直接的答案似乎是你必须选择你的’不行’选项,将你自己的控制器一起攻击并严重修补ActiveStorage以暴露文件.

代理请参阅:

https://github.com/rails/rails/issues/31419

https://github.com/rails/rails/pull/30465

>特别是georgeclaghorn的反应很有意思

对于重命名文件:

@user.avatar.blob.update(filename: 'NewFilename.jpg')

操纵_superlong_hash / url

我对这个没有好的答案.虽然ActiveStorage让上传(并且有点容易操作)文件变得非常容易,但它使Rails自以为是的软件理念走向了优势,因此很难通过抽象方法来绕过它的url生成. ActiveStorage不提供内置方法来执行基本的操作,例如生成后永久或直接链接到文件和变体.因此,文件/图像缓存和漂亮的URL似乎无法在此时使用ActiveStorage实现开箱即用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读