# Как разрешить скачивание изображений вместе с другими данными пользователя (csv) из раздела активности?

**URL:** https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680
**Category:** Support
**Created:** [18.Ноябрь.2019 12:33:46 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680 "2019-11-18T12:33:46Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![raghukamath](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/raghukamath/32/160330_2.png) [@raghukamath](https://meta.discourse.org/u/raghukamath)
#### Post date: [18.Ноябрь.2019 12:33:46 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/1 "2019-11-18T12:33:46Z")

</div>

Мы (несколько волонтёров из сообщества Krita) настроили сервер Discourse для сообщества [Krita artist](https://krita-artists.org). Настройка очень похожа на [Blenderartists.org](http://Blenderartists.org).

Поскольку это форум, посвящённый программному обеспечению для рисования, обсуждения будут содержать множество изображений. С точки зрения GDPR, Discourse предоставляет возможность загружать данные пользователя из раздела «Активность» в профиле. Однако я заметил, что при загрузке не включаются изображения, которые пользователь опубликовал на форуме. Я хотел бы спросить, есть ли способ включить эти изображения в загружаемые ZIP-архивы. Существует ли плагин, обеспечивающий такую функциональность?

Спасибо.

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [18.Ноябрь.2019 15:32:11 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/2 "2019-11-18T15:32:11Z")

</div>

> [@raghukamath](#):
>
> Существует ли какой-либо плагин, предоставляющий такую функцию?

К сожалению, в настоящее время это недоступно ни в ядре, ни в каких-либо известных мне плагинах.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [19.Ноябрь.2019 04:31:24 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/3 "2019-11-19T04:31:24Z")

</div>

По правде говоря, мы должны включить в скачиваемые данные все изображения, загруженные пользователем.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [19.Ноябрь.2019 04:53:55 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/4 "2019-11-19T04:53:55Z")

</div>

Технически у них всё ещё есть URL-адреса, поэтому они могут просто распарсить и извлечь их. Я беспокоюсь о том, что пользователи с большим количеством изображений могут потребовать очень много времени сервера при нажатии кнопки.

---

<div class="post-metadata">

### Author: ![raghukamath](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/raghukamath/32/160330_2.png) [@raghukamath](https://meta.discourse.org/u/raghukamath)
#### Post date: [19.Ноябрь.2019 05:52:01 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/5 "2019-11-19T05:52:01Z")

</div>

Извините, если это кажется глупой идеей, но поможет ли предоставление пользователю заранее определенного временного окна для возврата за ZIP-файлом? В этот период создание ZIP-архива можно выполнить, когда нагрузка на сервер ниже.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [19.Ноябрь.2019 06:01:39 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/6 "2019-11-19T06:01:39Z")

</div>

Меня беспокоит возможность позволить случайному конечному пользователю с высокой активностью запускать загрузку полгигабайта данных из S3 для повторной упаковки.

Гораздо предпочтительнее предоставить им ссылку на скрипт, который они могут выполнить для экспорта и загрузки изображений.

---

<div class="post-metadata">

### Author: ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)
#### Post date: [19.Ноябрь.2019 06:10:33 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/7 "2019-11-19T06:10:33Z")

</div>

> [@sam](#):
>
> Технически у них всё ещё есть URL-адреса, поэтому они могли бы просто проанализировать их и извлечь.

Я не эксперт, но считаю, что с точки зрения GDPR это неприемлемое решение. @RGJ, вы в курсе?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [19.Ноябрь.2019 06:14:12 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/8 "2019-11-19T06:14:12Z")

</div>

Закрываю это на 6 дней, чтобы у нашего юриста была возможность ознакомиться с этим, прежде чем тема уйдет в GDPR-драму.

У вас всё ещё есть возможность запустить скрипт от имени администратора для пользователя и отправить ему изображения по электронной почте, если хотите.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [19.Ноябрь.2019 06:14:15 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/9 "2019-11-19T06:14:15Z")

</div>



---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [24.Ноябрь.2019 21:00:00 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/12 "2019-11-24T21:00:00Z")

</div>

Эта тема была автоматически открыта через 5 дней.

---

<div class="post-metadata">

### Author: ![elijah](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elijah/32/104055_2.png) [@elijah](https://meta.discourse.org/u/elijah)
#### Post date: [23.Апрель.2020 16:41:07 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/14 "2020-04-23T16:41:07Z")

</div>

Есть ли какие-либо новости по этому вопросу? Скрипт/инструмент для использования или исправление в ядре?

Я знаю, как сделать это вручную, но я более опытен, чем другие.

Чтобы немного пояснить,

```markdown
![Screenshot_20200422-132435|281x500](upload://dYJTG1LPTCy8fp52SrPh7a1p89j.png)

```

было извлечено из файла user-archive.csv, сгенерированного сегодня. Это не очень удобная для пользователя ссылка.

---

<div class="post-metadata">

### Author: ![elijah](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elijah/32/104055_2.png) [@elijah](https://meta.discourse.org/u/elijah)
#### Post date: [25.Август.2020 06:22:05 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/15 "2020-08-25T06:22:05Z")

</div>

Вчера я впервые с мая сделал экспорт поста и заметил, что ему уделили внимание, но выбор оказался странным (для меня):

> [@Joshua Rosenfeld](#):
>
> - Добавить user\_profile в CSV-экспорт user\_archive

Но там нет изображений, и я всё ещё вижу фрагменты (проверено на meta) с очень неудобными URL, например: `![screen-20200627-125657|385x397](upload://nsHMu7zGRvQ1Y9WuIPrrygpWbC6.png)` (обратите внимание, это изображение, которое я загрузил после обновления в мае).

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [25.Август.2020 14:23:28 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/16 "2020-08-25T14:23:28Z")

</div>

Добавление изображений в архив было бы головной болью. Что мы могли бы легко включить, так это «приготовленный» пост рядом с «сырым», чтобы изображения и всё остальное, что преобразуется, были связаны стандартным образом, который можно легко разобрать.

---

<div class="post-metadata">

### Author: ![elijah](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elijah/32/104055_2.png) [@elijah](https://meta.discourse.org/u/elijah)
#### Post date: [25.Август.2020 16:55:30 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/17 "2020-08-25T16:55:30Z")

</div>

Как это работает с опцией предподписанных URL-адресов, недавно внедрённой? Признаюсь, я мало знаю о том, как это реализовано, но я боюсь, что URL-адреса могут оказаться нестабильными.

(Имея в виду: [Secure Uploads](https://meta.discourse.org/t/secure-media-uploads/meta/140017) )

---

<div class="post-metadata">

### Author: ![martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin/32/491371_2.png) [@martin](https://meta.discourse.org/u/martin)
#### Post date: [25.Август.2020 23:16:04 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/18 "2020-08-25T23:16:04Z")

</div>

Если мы разместим обработанный пост, как предлагает @Falco, то URL-адреса будут выглядеть как `/secure-media-uploads/meta/blah`. Подписанная ссылка генерируется только при запросе загрузки по защищённому URL-адресу медиафайла, поэтому у вас не должно возникнуть проблем.

---

<div class="post-metadata">

### Author: ![tophee](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tophee/32/73406_2.png) [@tophee](https://meta.discourse.org/u/tophee)
#### Post date: [16.Сентябрь.2022 10:07:52 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/19 "2022-09-16T10:07:52Z")

</div>

Каков статус этой просьбы о добавлении функции (если это именно она)?

Давайте разделим это на несколько более мелких вопросов:

1. Есть ли сейчас какой-либо способ для пользователя получить копию всех изображений, включённых в его сообщения?
2. Есть ли способ получить (или воссоздать) эти сообщения в их обработанном формате, по крайней мере в той мере, в которой загруженные изображения находятся там, где должны?

Хотя я не уверен, что смогу написать полноценный скрипт, я попытался разобраться, как восстановить URL изображений на основе информации, содержащейся в `user_archive.csv`, но не вижу, как это возможно, учитывая, что, похоже, нет никакой корреляции между ссылкой на изображение в CSV-файле и публичным URL этого изображения на форуме.

Например, в моём CSV-файле у меня есть `![image|499x436](upload://tIh81VxrDGPzUkxhikPmbgFGbO6.png)`, а URL этого изображения на форуме — `https://forum.example.com/uploads/default/original/2X/d/d04053334ed6a40db3cdcf83c1c6eb139079494e.png`. Таким образом, даже если скрипт будет использовать `tIh81VxrDGPzUkxhikPmbgFGbO6.png` в сочетании с каким-то базовым URL, он не сможет получить изображение, верно? Или у изображения каким-то образом есть несколько идентификаторов?

---

<div class="post-metadata">

### Author: ![khenmu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/khenmu/32/108976_2.png) [@khenmu](https://meta.discourse.org/u/khenmu)
#### Post date: [16.Сентябрь.2022 10:38:27 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/20 "2022-09-16T10:38:27Z")

</div>

Спасибо за поднятие этой темы! Я раньше её не видел. 😃

Ознакомившись с ней, я разделяю и, похоже, убеждённость @codinghorror в том, что изображения должны быть доступны таким образом, и обеспокоенность @sam по поводу нагрузки на ресурсы сервера, особенно в случаях, когда пользователю сами изображения не интересны.

Я не могу судить о технической реализуемости этого, но с точки зрения UX мне кажется, что лучше всего либо добавить отдельную кнопку «Скачать изображения» рядом с существующей опцией скачивания, либо вывести всплывающее окно с вопросом, нужно ли включать изображения при использовании текущей опции скачивания.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [21.Сентябрь.2022 01:00:00 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/21 "2022-09-21T01:00:00Z")

</div>

> [@tophee](#):
>
> Существует ли сейчас какой-либо способ для пользователя получить копию всех изображений, включённых в его сообщения?

На данный момент нет, вам придётся обратиться к администратору форума. Я поддерживаю предложение @Falco как быстрое временное улучшение ситуации.

> [@Falco](#):
>
> Что мы могли бы легко добавить, так это `cooked`-версию поста вместе с `raw`, чтобы изображения и всё остальное, что было преобразовано, было связано стандартным способом, который можно легко разобрать.

---

<div class="post-metadata">

### Author: ![tophee](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tophee/32/73406_2.png) [@tophee](https://meta.discourse.org/u/tophee)
#### Post date: [26.Сентябрь.2022 08:46:50 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/22 "2022-09-26T08:46:50Z")

</div>

> [@sam](#):
>
> Вам придётся перейти на форум.

Вы имеете в виду, что нужно получить изображения, перейдя к самим сообщениям? Но тогда вы не получите изображения из сообщений, которые были удалены или скрыты от вас, верно?

Касательно

> [@sam](#):
>
> быстрого временного улучшения

Когда @sam и @Falco приходят к согласию, означает ли это, что это было добавлено в какой-то конвейер?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [10.Октябрь.2022 05:22:56 UTC](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680/23 "2022-10-10T05:22:56Z")

</div>

> [@Christoph](#):
>
> Когда @sam и @Falco приходят к согласию, означает ли это, что это было добавлено в какой-то конвейер?

Иногда да… иногда нет. Это еще не запланировано.

Я приоритизирую добавление “cooked” в экспорт, это простое изменение, должно произойти в течение следующего месяца.

[Следующая страница](https://meta.discourse.org/t/how-to-allow-downloading-images-along-with-other-user-data-csv-from-activity-section/133680.md?page=2)
