Полезная информация

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№123-10-2009 17:28:01

Kos
Участник
 
Группа: Members
Зарегистрирован: 06-09-2009
Сообщений: 5
UA: Opera 9.6

Загрузка картинки со страницы на сервер с помощью JS

Необходимо реализовать следующее действие на JavaScript:
Загружается страница, на ней расположена картинка, нужно эту картинку передать на сервер php скрипту, не адрес картинки, а именно саму картинку(файл).
Попробывал реализовать с помощью AJAX, но ничего не получилось.
Кто плотно работает с JS, подскажите, что можно придумать.

Отсутствует

 

№223-10-2009 18:14:49

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Shiretoko 3.5
Веб-сайт

Re: Загрузка картинки со страницы на сервер с помощью JS

Существует только один способ: отправлять форму обычным POST-ом в скрытый iframe


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№324-10-2009 12:58:30

zibloid
Участник
 
Группа: Members
Зарегистрирован: 22-08-2009
Сообщений: 16
UA: Firefox 3.5

Re: Загрузка картинки со страницы на сервер с помощью JS

Kos если код заточен только под фф то можно сделать так:

Выделить код

Код:

var img = document.getElementById("img");

var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var context = canvas.getContext('2d');
context.drawImage(img,0,0);

var data = canvas.toDataURL("image/png");

Метод toDataURL() вернет в переменную data строку, закодированую через base64, ее можно передать на сервак... если формат png не подходит можно юзать jpeg canvas.toDataURL("image/jpeg");
Ну а дальше на серваке уже сделать декод строки и все ;)

Можно и так:

Выделить код

Код:

var img = new Image();
img.src="http://www.site.ru/img.png";
img.onload=function()
{
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;
    var context = canvas.getContext('2d');
    context.drawImage(img,0,0);
    var data = canvas.toDataURL("image/png");
}

Отсутствует

 

№424-10-2009 13:11:48

Kos
Участник
 
Группа: Members
Зарегистрирован: 06-09-2009
Сообщений: 5
UA: Opera 9.6

Re: Загрузка картинки со страницы на сервер с помощью JS

zibloid, спасибо, попробую, если получится, то это вообще идеальный для меня вариант :)

Проверил, всё сработало великолепно. :beer:

Отредактировано Kos (24-10-2009 15:10:03)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]