Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вторичное использование картинки (https://javascript.ru/forum/misc/53714-vtorichnoe-ispolzovanie-kartinki.html)

Green Elephant 15.02.2015 01:03

Вторичное использование картинки
 
Предположим с сервера послали картинку
<img href='img.png'>

И мне нужно эту картинку использовать дважды но я не хочу каждый раз качать ее с сервера.
Вопрос: можно ли сохранить ссылку на нее (или саму картинку) так чтобы не загружать ее каждый раз с сервера, а при закрытии/обновлении страницы удалялась с компа и загружалась заново?:help:

danik.js 15.02.2015 07:40

Картинка и так по умолчанию будет кэшироваться браузером и загружаться один раз. Чтобы картинка обновлялась подсыпай ей соль в url:

<img src="image.png?salt=705408">
Соль генерируй прям на сервере (только одну на обе картинки).

Green Elephant 15.02.2015 13:25

Проблема в том что картинка генерируется на сервере все время разная, и при передаче ссылки она загружается другая.
Когда я путём javascript хочу картинку отправить на другой сервер, и мне нужно сделать это примерно так:
Мой сервер --> браузер --> др.сервер. -->ответ др.сервера браузеру.
У меня получается так что браузер использует не кэшированную картинку, а снова грузит её с сервера.
Короче, капчу не могу отправить ту которая мне пришла на распознавание др. серверу...)

Aetae 15.02.2015 15:11

Если картинка с вашего домена - её можно запихнуть в canvas и запомнить / ajax'ом передать.
Если не с вашего, то javascript'ом / без сервера - никак.

Vlasenko Fedor 15.02.2015 15:32

преобразуй картинку в строку используя base64 и гоняй эту строку куда надо

Green Elephant 15.02.2015 17:16

Если я правильно понял то действовать надо так:
Сервер --> Браузер -->кодирую в base64 --> отправляю на др.сервер -->И он присылает ответ браузеру.
да?

Vlasenko Fedor 15.02.2015 18:38

честно не понять зачем тебе куда то капчу передавать
если нормально написано то там будут токены и все твои усилия будут зря

Green Elephant 15.02.2015 19:11

Ну а как к примеру её передают в сервисы типа antigate?
мне нужно реализовать нечто такое-же, и да когда я получаю капчу то главный вопрос стоит скорее в том как к ней обратится. так как используя ссылку на картинку я получаю уже новую капчу, а мне нужно обратится к старой.Так вот)
капча такого вида:
<img src="//c.server.ru/c/2?r=1424022812591" class="js-captcha" id='id'>

Ну т.е. когда я обращаюсь к капче так:
document.getElementById('id')

и когда я использую её так:
base64.encode(document.getElementById('id'))

при расшифровке мне выдается не то что хотел)т.е. уже другая капча

danik.js 16.02.2015 03:10

Цитата:

Сообщение от Green Elephant
base64.encode(document.getElementById('id'))

:D

Green Elephant 16.02.2015 11:58

ну я предполагаю существование обьекта base64
который естественно кодирует свойством encode
не ну реально...)))
да и тем более какая разница как я его использую, главное что выдаёт не то)))


Часовой пояс GMT +3, время: 11:17.