Могу ли я разместить встроенное изображение с помощью поля файла в форме - PullRequest
0 голосов
/ 14 декабря 2010

У меня загружено IMG внутри HTML-документа, и я хотел бы загрузить его, используя поле «файл» из формы. Форма находится в том же документе, поэтому у меня не должно быть проблем с безопасностью.

Можно ли загрузить изображение на сервер?

Мне удалось загрузить изображения, выбирая файл с моего жесткого диска, но я понятия не имею, как это сделать, используя IMG внутри документа HTML.

Ответы [ 4 ]

2 голосов
/ 14 декабря 2010

Используя javascript, вы можете получить атрибут 'src' из встроенного изображения (если src является относительной ссылкой, добавить к текущему URL-адресу) и опубликовать его как скрытое поле в вашей форме.

Затем серверное приложение загрузит изображение из того же источника, используя что-то вроде curl в PHP или urllib в python.

1 голос
/ 14 декабря 2010

У меня нет практического опыта с этим, но, кажется, это возможно при использовании canvas.toDataURL.Я не знаю о совместимости IE с exCanvas.

См. этот SO-ответ для успешного решения.

0 голосов
/ 28 февраля 2013

Смотрите этот пост Конвертируйте canvas в изображение и открывайте в новом окне, используя ruby ​​on rails и javascript

Он в основном размещает необработанные данные изображения, затем декодирует их на сервере и записывает вфайл.Я сам это реализовал, хорошо работает.

0 голосов
/ 14 декабря 2010

Нет, это невозможно, поскольку HTML-форма будет загружать только файлы с вашего компьютера.

Если вы можете отобразить изображение на странице формы, почему вы не можете ссылаться на его URL-адрес в скрытом поле формы и получить доступ к этому полю позже.

Итак, ваше изображение будет, например, <img src="URL"/>, тогда вы можете вставить в форму поле, которое будет выглядеть примерно так:

<input type="hidden" value="URL" name="my_image"/>

После отправки формы вы можете получить доступ к URL-адресу изображения через параметры POST или GET на PHP или любом другом языке, который вы используете. Было бы лучше заранее закодировать URL-адрес изображения.

...