Мне это кажется немного странным.
Вы описываете свою функциональность как отображение списка файлов и предоставление пользователю возможности нажать «просмотреть миниатюру». Это означает, что он будет пытаться загрузить изображение с сервера только в том случае, если пользователь специально запрашивает изображение, поэтому вы уже прекратили возможность массовой загрузки большого количества изображений.
Так что, если изображение не находится в кэше моего браузера, которого при моем первом посещении не будет, то я получу значок общего изображения. При моем следующем посещении изображение все еще не будет в моем кэше, поэтому я снова получу значок общего изображения. Так как же я когда-нибудь увижу что-либо, кроме значка общего изображения?
Теперь перейдем к решению, которое, как я признаю, не соответствует вашим требованиям, но это типичная реализация для этого типа программного обеспечения.
- Показать файлы с параметром «Показать миниатюру»
- Когда выбран параметр «Показать миниатюру», загрузите миниатюру с сервера (обратите внимание, что довольно часто сценарий будет обслуживать изображение с измененным размером, которое также может храниться на сервере, чтобы избежать необходимости повторной обработки изменения размера для определенное количество времени)
- Браузер автоматически кэширует изображение и предотвращает дальнейшие запросы сервера на время