jQuery: obtenga el nombre de archivo seleccionado de

Este código debería funcionar en IE (ni siquiera probarlo en Firefox), pero no es así. Lo que quiero es mostrar el nombre del archivo adjunto. ¿Alguna ayuda?

  example   $(document).ready( function(){ $("#attach").after(""); $("#fakeAttach").click(function() { $("#attach").click(); $("#maxSize").after("
"); $('#attach').change(function(){ $("#fakeAttach").attr("disabled","disabled"); $("#attachedFile").html($(this).val()); }); $("#remove").click(function(e){ e.preventDefault(); $("#attach").replaceWith($("#attach").clone()); $("#fakeAttach").attr("disabled",""); $("#temporary").remove(); }); }) }); (less than 1MB)

Es tan simple como escribir:

 $('input[type=file]').val() 

De todos modos, sugiero usar el nombre o el atributo ID para seleccionar su entrada. Y con el evento, debería verse así:

 $('input[type=file]').change(function(e){ $in=$(this); $in.next().html($in.val()); }); 
 $('input[type=file]').change(function(e){ $(this).parents('.parent-selector').find('.element-to-paste-filename').text(e.target.files[0].name); }); 

Este código no mostrará C:\fakepath\ antes del nombre del archivo en Google Chrome en caso de usar .val() .

La forma más simple es simplemente usar la siguiente línea de jquery , con esto no obtienes el /fakepath sin sentido, obtienes el archivo que se cargó:

 $('input[type=file]')[0].files[0]; // This gets the file $('#idOfFileUpload')[0].files[0]; // This gets the file with the specified id 

Algunos otros comandos útiles son:

Para obtener el nombre del archivo:

 $('input[type=file]')[0].files[0].name; // This gets the file name 

Para obtener el tipo de archivo:

Si tuviera que subir un PNG, devolvería image/png

 $("#imgUpload")[0].files[0].type 

Para obtener el tamaño (en bytes) del archivo:

 $("#imgUpload")[0].files[0].size 

Además, no tiene que usar estos comandos on('change' , puede obtener los valores en cualquier momento, por ejemplo, puede tener una carga de archivo y cuando el usuario hace clic en upload , simplemente usa los comandos que enumeré.

He usado el siguiente que funcionó correctamente.

 $('#fileAttached').attr('value', $('#attachment').val()) 
    
 //get file input var $el = $('input[type=file]'); //set the next siblings (the span) text to the input value $el.next().text( $el.val() ); 

Agregue un botón de reinicio oculto:

  

Haga clic en el botón de reinicio para borrar la entrada.

 $("#Reset1").click();