Foros del Web » Programando para Internet » PHP »

Copiar imagen de PC y Pegar en Web

Estas en el tema de Copiar imagen de PC y Pegar en Web en el foro de PHP en Foros del Web. Buenos días foreros, vuelvo a recurrir a vuestra sabiduría: Necesito poder subir imágenes desde el PC a una página web con PHP/JavaScript/HTML. Sé cómo se ...
  #1 (permalink)  
Antiguo 17/05/2014, 04:06
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Copiar imagen de PC y Pegar en Web

Buenos días foreros, vuelvo a recurrir a vuestra sabiduría:

Necesito poder subir imágenes desde el PC a una página web con PHP/JavaScript/HTML. Sé cómo se hace con el botón "examinar" de HTML y llamando a un script PHP, pero no es eso lo que quiero.

Lo que necesito es:
1. El usuario navega por su escritorio y le da a copiar a una imagen.
2. Abre la web y le da a pegar en un textarea (por tanto, lo que se pegará es la ruta absoluta de la imagen).
3. Estando la ruta en el textarea se debe cargar la imagen al darle al botón "Guardar".

No tengo ni idea de por dónde tirar, ahora mismo tengo el formulario y cuando le doy al botón "Guardar" llama a una función javascript a la cual se le pasa como argumento el contenido del text area (la ruta de la imagen).

Teniendo la ruta en la función Javascript, ¿cómo cargo la imagen? o más fácil todavía ¿cómo hago para asignarla al siguiente array (que se le pasará por POST a PHP)?:

Código HTML:
Ver original
  1. <input type="file" name="imagenes[]" multiple="multiple"/>

Un saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #2 (permalink)  
Antiguo 17/05/2014, 06:02
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: Copiar imagen de PC y Pegar en Web

Puedes hacerlo con el reader que tiene javascript ahora. pero no es mejor q la persona arrastre directamente la imagen a una zona drag and drop?
Aca te dejo un link interesante del tema.
http://www.html5rocks.com/en/tutorials/file/dndfiles/
Espero te sirva
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #3 (permalink)  
Antiguo 17/05/2014, 06:25
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Copiar imagen de PC y Pegar en Web

Muchas gracias por la respuesta. Si es mejor o más cómodo hacerlo como comentas, pero los requerimientos me piden hacerlo así: el usuario copia una imagen de su escritorio y cuando le de a pegar (en un input, textarea o cualquier otro elemento) se debe subir la imagen.

No me parece complicado, cuando le doy a pegar en un input/textarea se pega la ruta, ¿cómo puedo subir la imagen a partir de la ruta?.

Otro manera de hacerlo sería ¿cómo se añade la ruta de la imagen a un array que se le pasará a PHP por POST?, es decir, yo tengo el botón examinar tambien:

Código HTML:
Ver original
  1. <input type="file" name="imagenes[]" multiple="multiple"/>

El fichero PHP recibirá ese array con las imagenes que ha examinado, ¿Cómo añado la ruta que ha pegado el usuario en el textarea al array "imagenes[]"?.

Un saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #4 (permalink)  
Antiguo 17/05/2014, 06:52
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: Copiar imagen de PC y Pegar en Web

Man eso es un drag and drop igual. con javascript puedes leer el archivo y hasta crear una barra de estado de la subida mientras solo muestras el nombre) y luego si quieres mostrar la imagen.

Revisa el link que te pase, la personalización de como quieres hacer el requerimiento la das tu, pero eso debe servirte.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #5 (permalink)  
Antiguo 17/05/2014, 16:18
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Copiar imagen de PC y Pegar en Web

Cita:
No me parece complicado, cuando le doy a pegar en un input/textarea se pega la ruta, ¿cómo puedo subir la imagen a partir de la ruta?.
No es complicado. Es imposible. ¿Porque? sencillamente por seguridad.
Imagina que tu supieras en que archivo guarda chrome (o cualquier otro navegador) la informacion de cache y de contraseñas, la mayoria esta en la misma ubicacion porque ningun usuario la cambia (habitualmente, por supuesto hay exepciones), si sabiando un path local pudieras leer arbitrariamente el contenido, cualquier sitio web podria robarte tus contraseñas, tus marcadores, las fotos de tus hijos/familiares/amigos que guardas en "mis imagenes", los historiales de chat de skype por ejemplo y cualquier otra cosa que este almacenada en tu disco duro.
Lo cual no es posible, nadie usaria internet si existira la mas infima posibilidad de que esto ocurra, nada seria confiable.

La api de fileReader te permite leer archivos fisicos, si, pero OJO! no cualquier archivo fisico, sino uno que este en la lista de seleccionados de un input file, y las unicas forma de agregar un archivo a un input file son:

a) clasica, el usuario apreta seleccionar y elije desde un cuadro de dialogo
b) drag and drop, el usuario arrasta archivos al input file o a la zona de arrastre

de esta forma es el usuario el que voluntariamente esta compartiendo archivos con la web.

si necesitas si o si interactuar con el disco duro abiertamente, podrias pensar en un applet java o en flash, pero no te aconsejo ninguno, si bien son mas abiertos, las restricciones de seguridad son grandes en todos los complementos.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: formulario, html, pc, pegar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:52.