Tengo un <input type="file" id="uploadPicture" value="123">
¿No se puede obtener el valor de input type = "file"?
Cuando estoy usando: alert($("#uploadPicture").val());
alerta a un diálogo vacío.
Tengo un <input type="file" id="uploadPicture" value="123">
¿No se puede obtener el valor de input type = "file"?
Cuando estoy usando: alert($("#uploadPicture").val());
alerta a un diálogo vacío.
Puedes leerlo, pero no puedes establecer él. value="123"
se ignorará, por lo que no tendrá valor hasta que haga clic en él y elija un archivo.
Incluso entonces, el valor probablemente se truncará con algo como c:\fakepath\
para mantener los detalles del sistema de archivos del usuario en privado.
Right - - los navegadores también tratan esto de otra manera, por ejemplo, firefox solo mostrará el nombre del archivo después de seleccionar un archivo, mientras que algunos pueden mostrar la ruta completa. No hay nada que puedas hacer realmente con este lado del cliente ... ¿qué estás tratando de lograr OP? – Atticus
$('input[type=file]').val()
Eso te dará el archivo seleccionado.
Sin embargo, no puede establecer el valor usted mismo.
No puede establecer el value
de una entrada file
en el marcado, como lo hizo con value="123"
.
Este ejemplo muestra que realmente funciona: http://jsfiddle.net/marcosfromero/7bUba/
lo puede conseguir mediante el uso de document.getElementById();
var fileVal=document.getElementById("some Id");
alert(fileVal.value);
dará el valor de archivo, pero da con fakepath de la siguiente manera
c:\fakepath\filename
Recibí la ruta de acceso completa ... y usé expresiones regulares de la ruta para obtener el nombre de archivo solo ... – ashwinsakthi
Quitar value = "123" que se ven muy bien. A continuación, intente:
$("file_selector").val();
Todavía hay un problema. Obtendrá un c: \ fakepath \ yourfile.extension.
Hola y bienvenidos a Stackoverflow. ¿Te importaría expandir esta respuesta un poco más? – slm
Intenté arriba para obtener un valor como $ ("file_selector"). Val(); pero estoy obteniendo c: \ fakepath \ yourfile.extension. Luego, usando lo que podré leer valor usando jquery. –
Es cuestión de edad, pero sólo en caso de que alguien golpee en esta banda de rodamiento ...
var input = document.getElementById("your_input");
var file = input.value.split("\\");
var fileName = file[file.length-1];
No hay necesidad de expresiones regulares, jQuery ....
@BozidarS: FileAPI está soportado bastante bien hoy en día y proporciona una cantidad de opciones útiles.
var file = document.forms['formName']['inputName'].files[0];
//file.name == "photo.png"
//file.type == "image/png"
//file.size == 300821
¿Cuándo llamas a esa alerta? –
Comprueba esto: http://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded y http://jsfiddle.net/LvsYc/638/ pueden ayudarte: D – Jaider