Сохраните файл поля файла на внешнем сервере


При использовании FileField или ImageField файлы сохраняются в локальной папке при установке Drupal. Это отлично работает и все такое, но до сих пор медиафайлы на моем веб-сайте обслуживаются с отдельного сервера (CDN), и я бы очень хотел, чтобы они были разделены.

Существует ли модуль, расширяющий поле Файл/изображение, позволяющий указать внешний сервер (FTP и учетные данные) для использования в качестве файлового сервера?

Любые советы или указания по этому поводу оцененный.

(Ps Я видел модуль CDN, но для этого требуется использование демона сервера или изменение источника CDN... и мне не особенно нравится ни одна из этих реализаций.)

<3

Author: Todd, 2011-05-18

2 answers

Насколько я знаю, в Drupal 6 нет другого способа сделать это, кроме того, что делает CDN.

Однако в Drupal 7 это совершенно другая история. Drupal 7 использует обертки потоков при работе с файлами, и это а) возможно реализовать пользовательские обертки потоков с помощью кода PHP и б) обертку потока можно выбрать для каждого файла/поля изображения.

Итак, если можно получить доступ к X с помощью PHP (FTP, Flickr, Amazon S3,..), то для него должна быть возможность написать оболочку потока и поэтому позволяет Drupal записывать файлы в это место.

Это, вероятно, не поможет вам в вашей ситуации, но, возможно, это поможет кому-то другому, например, при принятии решения использовать Drupal 6 или 7 для нового проекта:)

 5
Author: Berdir, 2011-05-18 21:00:49

Он может быть слишком мощным и довольно сложным в настройке, но вы тестировали Медиадвигатель ?

Если у вас есть доступ к оболочке на вашем сервере, вас может заинтересовать Файловый конвейер, демон Python, написанный Вимом Леерсом, хорошо известным участником Drupal. Конечно, после настройки этого вам придется переписать URL-адрес ваших файлов, чтобы он указывал на ваш CDN.

 2
Author: tostinni, 2011-05-18 21:22:14