перед отправкой на сервер? Я читала стэковерфлоу, ничего не понимаю. На сервере у меня будут размеры по весу изображения, но хотелось бы на клиентской стороне большие картинки уменьшать.
что мне нужно делать? как я поняла, нужно:
1. получить изображение, создать с ним экземпляр класса FileReader.
2. проверить, соответствует ли изображение установленным размерам. если да. то сконвертировать изображение в base64 и отправить аяксом на сервер, если нет, то:
2.1 создать элемент канвас, вставить в него нужную картинку и указать размеры. создастся элемент, найти его на странице, получить картнку, сконвертировать её в base64 и тоже отправить на сервер аяксом. так? правильно мыслю?
кто-нибудь мог бы помочь разобраться с кодом?
никогда не делал. но мне понравилась Ваша идея в канвасе новую картинку сделать. Ну отправите, только на сервере она фиговая же будет. Я раньше в php их переделывал. Там библиотеки мощные, обрезают,уменьшают для предпросмотров.
Да не хотелось бы сервер перенагружать, и без того с графикой работать приходится.
Хотела сделать ограничение в 6000px, разве канвас испортит качество?
вообще неправильный подход
А как нужно? Подскажите)
https://aws.amazon.com/ru/blogs/networking-and-content-delivery/resizing-images-with-amazon-cloudfront-lambdaedge-aws-cdn-blog/ Можно почитать такой гайд от амазон. Если кратко, то можно взять сервер ресайзер https://github.com/imgproxy/imgproxy , который будет получать пикчу и подгонять под нужный размер и формат и класть уже в файловое хранилище картинок
Большое спасибо! Но есть ли разница, если я могу то же самое делать на django с использованием PIL, например?
если устраивает то можно все
на мой взгляд ~ вообще любой конверт портит качество. А тут... Загрузка сервера - да ну... 21 век же... Ему картинку обрезать - как два пальца... Трафик - тоже...
Не обрезать, а сжать. Это уже не так просто для рядового юзера.
Ну да, я вот PIL тогда всё и делал, в своей cms. Там всё просто
Обсуждают сегодня