Как лучше прикрепить файлы к записи в блоге?
Записи на сайте размещаются после отправки заполненной формы, но контент (тело статьи, изображения, вложения) загружаются на сервер асинхронно, через вызов метода api, который загружает файл на сервер и возвращает публичную ссылку на него. После чего ссылки улетают вместе с формой на добавление новой статьи. Хочу в дальнейшем прикрутить файловый менеджер, в котором можно посмотреть какой файл, куда был загружен. Сейчас для каждого загруженного файла есть запись в бд.
Наиболее очевидный способ - найти все ссылки на файлы в теле запроса и занести их в бд по типу многие ко многим.
Еще одни способ - перед загрузкой любого файла генерировать пустую статью (или uid будущей статьи) и посылать их вместе с загруженным файлом и сразу заносить данные в бд.
Как лучше поступить? Есть ли другие варианты?
Дополнительно:
Первый вариант отдает лаптями и портянками, а смысл второго варианта от меня ускользает.
Я не вижу, какая проблема передать на сервер все "публичные ссылки" вместе со статьей, и записывать нормальным порядком после статьи.
- На фронте использую editorJs, в частности плагин, который позволяет добавлять изображения посылает переданные файлы на сервер и после хранит ссылку на них в теле блока. Если загружать все изображения вместе с формой статьи, то все равно придется производить манипуляции с блоками контента статьи. Ну и придется написать свой плагин для редактора.
Upd. Неправильно понял ответ. Так ссылки и так улетают вместе со статьей, а разницы добавить их отдельным полем или спарсить регуляркой из тела секции контента - я особой не вижу. Просто сам способ мне кажется костыльным. - Я читаю "возвращает публичную ссылку" и не понимаю - какая проблема запомнить эту возвращенную ссылку и передать вместе с постом. Что в этом костыльного?
Вот как раз создавать. пустую статью непонятно зачем - вот это костыль. -
Ну и придется написать свой плагин для редактора.
Придется допиливать редактор, если он не поддерживает прикрепление файлов, либо это делает не по вашей модели данных.
спарсить регуляркой из тела секции контента - я особой не вижу
Если контент не предполагает отображение ссылок в тексте статьи, то не надо пытаться в текст вставить какие-то дополнительные метаданные статьи, в частности, список файлов. Лучше использовать отдельные поля.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для прикрепления файлов к записи в блоге есть несколько способов, в зависимости от платформы, на которой вы ведете блог. Рассмотрим несколько вариантов:
1. Использование плагина для WordPress:
Если ваш блог работает на платформе WordPress, то лучшим способом будет использование специального плагина, который позволяет легко добавить файлы к записи. Например, плагин "Add From Server" позволяет загружать файлы на сервер и добавлять их к записи без необходимости загружать их через интерфейс WordPress.
2. Использование облачного хранилища:
Другим удобным способом является использование облачного хранилища, такого как Google Drive, Dropbox или OneDrive. Вы можете загрузить файлы на свое облачное хранилище и добавить ссылку на файл в свою запись в блоге. Таким образом, вы сэкономите место на сервере и обеспечите быстрый доступ к файлам.
3. Использование HTML-тега :
Если у вас нет возможности использовать плагины или облачные хранилища, вы можете добавить файлы к записи с помощью HTML-тега . Например, для добавления ссылки на файл "example.pdf" вы можете использовать следующий код:
<a href="путь_к_файлу/example.pdf" download>Скачать файл</a>
4. Использование FTP:
Если у вас есть доступ к FTP-серверу, вы можете загрузить файлы на сервер через FTP и добавить ссылку на них в свою запись в блоге. Этот способ подходит для тех, кто уверен в своих навыках работы с FTP.
Выберите подходящий для вас способ прикрепления файлов к записи в блоге и следуйте инструкциям для его реализации.