Discourseは期間経過後に添付ファイルを削除しません

バージョン: 3.2.0.beta3-dev (Docker セルフホスト)
設定: clean orphan uploads grace period hours を1時間に設定しました。

目的

アップロードした添付ファイルのファイル名を変更したい。

以下の説明では、1.txt2.txt は同じファイルですが、ファイル名が異なります。

手順

  1. 1.txt ファイルを投稿にアップロードし、保存します。
  2. 5分後、投稿を編集し、1.txt のリンクを削除して保存します。
  3. 1.txt2.txt にリネームします。
  4. 1時間後、2.txt を投稿に再アップロードします。
  5. 添付ファイル名は依然として 1.txt です。2.txt ではありません。

しかし、この状況では clean orphan 設定が機能します。

  1. 1.txt をアップロードします。
  2. 投稿を保存しません。
  3. 1時間後、2.txt ファイルを再アップロードします。
  4. ダウンロード時、新しい添付ファイルリンクは 2.txt になります。

その状況は clean orphan uploads.. が行うこととは違うことですよね?

誤解しているのかもしれません。

私の知る限り、アップロード後にファイルをリネームする唯一の方法は、ファイルを削除してDiscourseが削除するのを待ち、その後再アップロードすることです。

ファイルを削除するために、このガイド(「投稿を編集して添付ファイルのリンクを削除する」)に従いました。

削除はハードドライブからの削除を意味します。私の知る限りでは。

しかし、この動作を確認できます。Discourse は、ファイル名が変更されただけの場合(古いファイルなのか、単に古いファイル名とリンクを使用しているだけなのかは確認しませんでした)、古いファイルを配信します。

コードやコーディングについては何も知りませんが、Discourse は何らかのハッシュ化を使用していると思います。そして、コンテンツの名前が変わらない限り、それは一種のキャッシュから来ます。添付ファイルを実際に変更すると、Discourse もリンクを変更します。

「いいね!」 4