Problemas con input type=file

Hola, tengo un pequeño problemilla, resulta que tengo en una página llamada editar_producto1.asp a un
<input type= "file" name="foto"> y otros campos (textfield)
Donde cuando yo ingreso, los campos como nombre de producto, precio de producto ya están llenos (ya que como los voy a editar, pues me aparece la información correspondiente ya en pantalla), pero en el campo de tipo file, no me aparece la ruta de la foto del producto (el cual es solo un campo de texto llamado ruta_foto), yo lo que hago es hacer una consulta:
"select * from producto where cod_producto=" &var_cod_producto
luego le asigno a la variable var_ruta_foto el recset:
var_ruta_foto= recset.fields ("ruta_foto")
Y después yo solo suponía que para llamar la ruta de la foto (que en realidad es un campo de texto llamado ruta_foto) solo debería de poner:
<input type= "file" name="foto" value="<% var_ruta_foto>"
Pero no pasa absolutamente nada, el input file no se llena con nada, aparece vacío, ¿qué puedo hacer?
Muchísimas gracias mi amigo

12 Respuestas

Respuesta
1
Te está faltando decir que imprima el valor de la variable. Tendrías que hacer esto:
<input type= "file" name="foto" value="<%=var_ruta_foto%>">
que sería igual a esto:
<input type= "file" name="foto" value="<%Response.Write(var_ruta_foto)%>">
Respuesta
1
Nunca se me había presentado la necesidad de incluir un valor por defecto en este tipo de campo.
Investigándolo, el campo tipo file no acepta un valor por defecto.
Lo que se me ocurre es que pases en un campo de tipo hidden la variable var_ruta_roto al archivo destino y allí controles si el campo ruta está vacío sea igual a esa variable.
Respuesta
1
Suponiendo que los errores de sintaxis los superarás, no hay ningún problema en el script.
Lo que pasa es que los Exploradores no permiten llenar el campo file.
Imaginate que tu eres un WebMaster malicioso, y tienes un formulario que el usuario llena, podrías ocultar un campo tipo "file" para obtener cualquier archivo que tenga el usuario en su PC.
Es muy peligroso, por eso está bloqueado.
Respuesta
1
A ver pon esto:
<input type= "file" name="foto" value="<%=var_ruta_foto>">
Respuesta
1
<input type= "file" name="foto" value="<%=var_ruta_foto%>">
Tenias mal la sintaxis.
Respuesta
1
Si lo que quieres es editar la foto ¿Por qué no escribes lo siguiente?:
<IMG SRC="<%=var_ruta_foto%>">
Respuesta
1
<img border="0" src="file://<% rutadelafoto %>" width="35" height="35">
Pon la foto fuera de un campo input.
Respuesta
1
A los input type=file, no se les pueden asignar valores en su value, ya que es un objeto solo de lectura, lo que te recomiendo que hagas es que tengas una variable de session o un input type =hidden en donde almacenes el path de la foto, y quizás algún check, para indicarme si desea modificar el path de la foto o subir una nueva, de esta manera puedes utilizar el nuevo path del input type=file o dejar el anterior que tienes en tu variable de session o hidden...
Espero poder haberte ayudado..
Mucha suerte
Alejandro
Respuesta
1
Para llenar un campo file, yo tuve que ejecutar un js cuando se carga la página.
<script>
document.formulario.campoFile.value = "archivo.jpg"
</script>
El único problema que yo veo de esto, es que vos vas a poder mostrar el nombre (ej: archivo.jpg), pero esta persona seguramente obtuvo el archivo de "c:\mis documentos\..\usuario\archivo.jpg"
Yo, lo que hago es listar los archivos subidos al servidor, con un link al lado para poder verlos y borrarlos, y al final un campo file para subir nuevos archivos.
Quedaria asi como:
Archivo01.jpg ver borrar
================ <examinar>
Respuesta
1
Para pasar datos tienes que hacerlo con un igual después del porcentaje, es decir, así:
<%=var_ruta_foto>
Respuesta
1
Ya le he intentado y ningún método sirve, lo mejor es que pongas una referencia a la ruta del archivo y un "input file" que si permanece vacío no altere la ruta pero que si se cambia entonces que se actualice el campo ruta_foto.
Respuesta
1
Ante todo perdona la tardanza pero no he podido ver antes el correo, espero que mi ayuda te sirva aun.
Así sin ver el error que te pasa me parece que lo que ocurre es que no escribes bien la expresión en ASP.
<input type="text" name="foto" value="<%=var_ruta_foto%>">
prueba esto o:
response.write "<input type='text' name='foto' value='" & var_ruta_foto & "'>"
Cualquiera de las dos fórmulas es valida

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas