IE y Opera no soportan File, podés usar el valor de value para obtener el path
Ejemplo
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> function infoArchivo() {
var fileInput = document.getElementById ("subir");
var mensajes = "";
if ('files' in fileInput) {
if (fileInput.files.length == 0) {
mensajes = "Seleccione sus archivos
<br />Use Ctrl para selecciones múltiples(firefox/chrome/Safari)..";
} else {
for (var i = 0; i < fileInput.files.length; i++) {
mensajes += "<br /><b>" + (i+1) + ". seleccionado
</b><br />";
var file = fileInput.files[i];
if ('name' in file) {
mensajes += "nombre: " + file.name + "
<br />";
}
else {
mensajes += "nombre: " + file.fileName + "
<br />";
}
if ('size' in file) {
mensajes += "tamaño: " + file.size + " bytes
<br />";
}
else {
mensajes += "tamaño: " + file.fileSize + " bytes
<br />";
}
if ('mediaType' in file) {
mensajes += "tipo: " + file.mediaType + "
<br />";
}
}
}
}
else {
if (fileInput.value == "") {
mensajes += "Seleccione uno o más archivos.";
mensajes += "
<br />Use Ctrl para selecciones múltiples(firefox/chrome/Safari).";
}
else {
mensajes += "El navegador no soporta el objeto File";
mensajes += "
<br />La ruta al archivo seleccionado es: " + fileInput.value;
}
}
var info = document.getElementById ("info");
info.innerHTML = mensajes;
}
<body onload="infoArchivo()"> <input type="file" id="subir" multiple="multiple" size="60" onchange="infoArchivo()" /> <div id="info" style="margin-top:30px"></div>
Saludos