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

**URL:** https://meta.discourse.org/t/discourse-wont-delete-attachment-after-period-hours/282866
**Category:** Bug
**Created:** [2023 年 10 月 20 日午前 5:59 UTC](https://meta.discourse.org/t/discourse-wont-delete-attachment-after-period-hours/282866 "2023-10-20T05:59:23Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Tee](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tee/32/245700_2.png) [@Tee](https://meta.discourse.org/u/Tee)
#### Post date: [2023 年 10 月 20 日午前 5:59 UTC](https://meta.discourse.org/t/discourse-wont-delete-attachment-after-period-hours/282866/1 "2023-10-20T05:59:23Z")

</div>

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

## 目的

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

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

## 手順

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

* * *

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

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

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2023 年 10 月 20 日午前 6:05 UTC](https://meta.discourse.org/t/discourse-wont-delete-attachment-after-period-hours/282866/2 "2023-10-20T06:05:47Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Tee](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tee/32/245700_2.png) [@Tee](https://meta.discourse.org/u/Tee)
#### Post date: [2023 年 10 月 20 日午前 6:15 UTC](https://meta.discourse.org/t/discourse-wont-delete-attachment-after-period-hours/282866/3 "2023-10-20T06:15:06Z")

</div>

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

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

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

> [@SaraDev](#):
>
> または、投稿を編集して添付ファイルのリンクを削除します。孤立したファイルは、48時間の猶予期間後に自動的に削除されます。

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2023 年 10 月 20 日午前 6:33 UTC](https://meta.discourse.org/t/discourse-wont-delete-attachment-after-period-hours/282866/4 "2023-10-20T06:33:23Z")

</div>

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

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

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