Как защитить файлы от скачивания?
Никак, все что попало на клиент = уже есть у клиента, в самом сложном случае я просто открою консоль нетворка и скопирую сырые данные приходящие с сервера.
Неудобно собирать целое из частей. Можно было бы картинку отдавать не целиком, а разрезав ее на множество фрагментов мозаики, расположенные потом на экране так, что формируют бесшовное целое.
Но printscreen )