Прежде всего, я должен сказать, что видел что-то подобное в группе обсуждения web2py, но я не мог понять это очень хорошо.
Я создал веб-сайт, управляемый базой данных, с помощью web2py, в котором записи представляют собой просто текст HTML. Большинство из них будут содержать теги img
и/или video
, указывающие на относительные URL-адреса; эти файлы хранятся в папках с шаблоном адреса static/content/article/<article-name>
, а документ base
href
устанавливается через контроллер, чтобы эти ссылки работали. Таким образом, изображения хранятся и ссылаются напрямую, без всех механизмов загрузки/выгрузки.
Я тестирую его локально и использую сервер Rocket, потому что мне не разрешено устанавливать Apache на этот компьютер.
Проблема:
Все работает нормально, за исключением, как кажется, случаев, когда запрашивается несколько "больших" файлов. Под «большим» я подразумеваю файлы размером 4 МБ, что на самом деле не так много (и я думаю, что файлы меньшего размера дадут тот же результат). Я почти уверен, что ссылки не повреждены, поскольку 1) при копировании/вставке их URL-адресов в браузере они отображаются нормально, 2) изображения/видео отображаются хорошо/сломанными случайным образом, когда я обновляю страницу и 3) иногда видео загружается до определенного момента, а затем останавливается, а инспектор браузера показывает сигнал «сбой». Когда я заменил эти файлы на более мелкие (каждый по десятку кб), все они загрузились. Еще одна вещь, которую следует учитывать, это то, что иногда загрузка страницы занимает очень много времени (от 2 секунд до нескольких минут).
Вопросы:
Является ли это самым простым/оптимальным способом выполнения работы? Я знаю, что в web2py есть несколько полезных функций, таких как поля для загрузки, но я не знаю, как сделать так, чтобы эти файлы были легко упоминается в документе, учитывая, что на таких страницах будут некоторые специальные функции, связанные со статическими файлами. Итак, решение, которое я придумал до сих пор, состояло в том, чтобы создать каталог, имя которого равно имени записи, и хранить там файлы, как я уже говорил. Является ли это излишним, учитывая, что может предложить web2py?
Если ответ на первый вопрос что-то вроде "да", то (очевидный вопрос) что может быть причиной проблемы и как ее исправить? Это как-то связано с тем, что web2py отправляет статические файлы кусками по 1Mb? Может быть, это сервер Rocket? Или потому что я тестирую его локально?
Заранее спасибо!