Foros del Web » Programando para Internet » Javascript »

input file update

Estas en el tema de input file update en el foro de Javascript en Foros del Web. hola buenas tardes, estoy haciendo un formulario donde subo varias imagenes con un input file, hasta ahi todo funciona muy bien, pero cuando habro para ...
  #1 (permalink)  
Antiguo 22/03/2017, 15:08
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
input file update

hola buenas tardes, estoy haciendo un formulario donde subo varias imagenes con un input file, hasta ahi todo funciona muy bien, pero cuando habro para editar de nuevo el formulario, no se como hacer para que muestre las imagenes que subi.

aqui les dejo el codigo
<form action="" method="post" role="form" enctype="multipart/form-data">
<input type="file" id="files" name="files[]" multiple/>
</form>

<script>
if (window.File && window.FileReader && window.FileList && window.Blob) {
// Great success! All the File APIs are supported.
} else {
alert('The File APIs are not fully supported in this browser.');
}
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object

// files is a FileList of File objects. List some properties.
var output = [];

for (var i = 0, f; f = files[i]; i++) {
output.push('<li>',
'<strong>',escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes',
'</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}

document.getElementById('files').addEventListener( 'change', handleFileSelect, false);
document.getElementById('files').addEventListener( 'DOMContentLoaded', handleFileSelect, false);
</script>

alguien que me tire un cable?
desde ya muchas gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #2 (permalink)  
Antiguo 22/03/2017, 23:01
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: input file update

Fíjate en el código de ejemplo de esta sección.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 23/03/2017, 10:58
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: input file update

Te agradezco, pero ese articulo fue de donde saque el código y lo leí muchas veces, si bien de javascript no se nada, mas que lo básico, he intentado todo, de cualquier manera por tu link volví a releer pero sigo sin tener idea de como le paso los archivos, supuestamente input file no usa value, y es ahí mi confusión. entiendo que el onload es el que carga, pero por algún lado tengo que pasar las direcciones de los archivos, que tengo almacenadas en la db.
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #4 (permalink)  
Antiguo 23/03/2017, 13:07
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: input file update

En realidad, todos los elementos <input>, cualquiera sea el type, poseen el atributo value. Por otro lado, como no lo habías aclarado, supuse que deseabas mostrar las imágenes que acababas de seleccionar. Si las estás subiendo a un servidor y almacenando sus rutas en una base de datos, entonces debes abordar este problema desde el lado del servidor, ya sea con PHP, ASP, JSP o el lenguaje que uses. Solo necesitas hacer una consulta a la base de datos y recuperar las rutas de las imágenes para poder mostrarlas a partir de las rutas recuperadas. Te sugiero asociar cada ruta a un identificador para que puedas seleccionar solo las rutas que desees (las que tengan un identificador asociado con el dato de búsqueda).

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 23/03/2017, 14:02
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: input file update

eso ya lo tengo como te conte antes, ahora el tema es como le paso esas rutas/nombreimagen al javascript para que me muestre las imagenes cargadas
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #6 (permalink)  
Antiguo 23/03/2017, 16:07
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: input file update

No tienes que "pasar" nada; tan solo realiza una consulta a la base de datos, recupera las rutas y muéstralas dentro de elementos <img>.

Aunque es offtopic, te mostraré un ejemplo:
Código PHP:
Ver original
  1. $consulta = 'SELECT ruta FROM tabla';
  2. $resultados = mysqli_query($conexion, $consulta) or exit(mysqli_error($conexion));
  3.  
  4. if (mysqli_num_rows($resultados)){
  5.     while ($filas = mysqli_fetch_assoc($resultados)){
  6.         echo "<img src=\"{$filas['ruta']}\" />";
  7.     }
  8. }

Lo anterior es por si ya tienes las rutas en la base de datos, que es lo que diste a entender, por lo que JavaScript no tendría nada que ver en el tema. Ahora que si lo que pretendes es subir las imágenes al servidor, guardar las rutas en la base de datos y mostrar las imágenes subidas, todo a la vez, tendrás que utilizar una petición asíncrona (AJAX); sin embargo, por un tema de eficiencia, te sería más útil mostrar las imágenes como en el ejemplo del enlace que te dí al inicio.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 23/03/2017 a las 16:17 Razón: Aclaración
  #7 (permalink)  
Antiguo 23/03/2017, 16:42
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: input file update

Parece que no me hago entender, todo eso que me decis ya esta funcinando, lo que necesito es como pasarle al javascript del link las imagenes para que las muestre, no quiero hacer eso de mostrar con img, sino con el javascript, que para eso esta, no creo que solo sea para cargar las imagenes, debe haber una forma para cargarlas en un formulario de edicion(actulizar).
tengo el form cargar que funciona con el javascript y la db guarda la ruta, hasta ahi todo bien,
cuando quiero entrar al form editar muestra todos los campos, pero no se como pasarle los datos de la ruta al javascript para que carge las imagenes
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #8 (permalink)  
Antiguo 23/03/2017, 17:43
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: input file update

Cita:
Iniciado por virla Ver Mensaje
[...] no quiero hacer eso de mostrar con img, sino con el javascript, que para eso esta [...]
¿De dónde has sacado esa idea?

Con JavaScript puedes interactuar con el DOM (Modelo de Objetos del Documento), realizar peticiones asíncronas, interactuar con elementos multimedia y hasta trabajar del lado del servidor (Node.js), entre otras cosas. Si deseas mostrar las imágenes cuyas rutas almacenaste en la base de datos, puedes: mostrarlas en elementos <img> o como fondo de elementos de bloque, mediante propiedades CSS; todo esto luego de una consulta a la base de datos en donde recuperarás las rutas almacenadas. Si deseas obtener las rutas almacenadas de manera dinámica (no al cargar la página sino más adelante), necesitarás realizar una petición asíncrona (AJAX) que te las devuelva, preferentemente en formato JSON para luego decodificar al objeto resultante, iterarlo e ir mostrando cada imagen mediante las rutas obtenidas. Incluso en el ejemplo del enlace que te dí al inicio y que dijiste que ya habías visto, utilizan elementos <img> para mostrar las imágenes seleccionadas puesto que, de las dos formas que te expliqué, es la más práctica.

Si el formulario es de edición, sería aun mejor que cargues las rutas desde la base de datos y luego mostrarlas en elementos <img>; es la forma más usada por ser la más práctica y sencilla.

A todo esto, ¿cómo pretendías que funcione? Es decir, si dices que no quieres utilizar elementos <img>, ¿de qué manera creías que se podría hacer?

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 24/03/2017, 12:21
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: input file update

Perdon, pero sigo sin hacerme entender.
lo que quiero es que cuando la pagina carge, me carge las imagenes sin tener que hacer click en el boton de subir, que es ahi donde arranca el script.

como le envio los datos al script
ejemplo onliad($files) (llama al script y este carga las imagenes)
donde $files contiene las rutas de las imagenes
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #10 (permalink)  
Antiguo 24/03/2017, 12:43
 
Fecha de Ingreso: abril-2015
Ubicación: Murcia
Mensajes: 12
Antigüedad: 9 años
Puntos: 0
Respuesta: input file update

Cita:
Iniciado por virla Ver Mensaje
Perdon, pero sigo sin hacerme entender.
lo que quiero es que cuando la pagina carge, me carge las imagenes sin tener que hacer click en el boton de subir, que es ahi donde arranca el script.

como le envio los datos al script
ejemplo onliad($files) (llama al script y este carga las imagenes)
donde $files contiene las rutas de las imagenes
Hola, quieres que al seleccionar las imágenes empiecen a subirse sin pulsar el botón subir?

si es así puedes usar un evento onchange en el input type=file donde cargas las imagénes
Código:
<input type="file" onchange="alert('Me eh ejecutado al seleccionar las imagenes');">
por otra parte si te refieres a que cuando cargue LA PAGINA mostrar las imágenes ya subidas al servidor tienes que hacer lo que te dijo el compañero, consultar y mostrar las imágenes con img

salu2
  #11 (permalink)  
Antiguo 24/03/2017, 13:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: input file update

Cita:
Iniciado por virla Ver Mensaje
[...] lo que quiero es que cuando la pagina carge, me carge las imagenes sin tener que hacer click en el boton de subir, que es ahi donde arranca el script [...]
Es contradictorio lo que dices. Es decir, se supone que tu script sube al servidor archivos de imagen que el usuario seleccionó. Luego, nos dices que deseas mostrar las imágenes mediante las rutas almacenadas en la base de datos; pero ahora dices que deseas que ese proceso se ejecute sin pulsar el botón de subida de imágenes. Es una de dos: o deseas subir archivos o deseas recuperar las rutas almacenadas en la base de datos y mostrarlas. Debes definir el funcionamiento que tendrá tu script; si subirá imágenes o las recuperará a través de las rutas almacenadas en la base de datos para mostrarlas en el documento.

Sospecho que no estás utilizando los términos adecuados para expresar tu problema.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: file, funcion, html, input, update
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 05:34.