2011-08-11 21 views
9

EDITAR: Estoy tratando de leer todos los archivos en una carpeta específica y enumerar los archivos allí, no leer el contenido de un archivo específico. Intenté simplemente crear un FileSystemObject y tampoco hace nada. Muestro una alerta (que aparece) antes de hacer el FileSystemObject, y uno después (que no se muestra). Entonces el problema es simplemente crear el objeto.JavaScript: Leer archivos en la carpeta

original:

Estoy tratando de leer todos los archivos en una carpeta mediante el uso de JavaScript.

Es un archivo HTML local, y no estará en un servidor, por lo que no puedo usar PHP, supongo.

Ahora estoy tratando de leer todos los archivos en una carpeta determinada específica, pero no hace nada en el punto hago un FileSystemObject

Aquí está el código que utilizo, La alerta muestra hasta el 2 de , entonces se detiene.

alert('1'); 
    var myObject, afolder, date; 
    alert('2'); 
    myObject = new ActiveXObject("Scripting.FileSystemObject"); 
    alert('3'); 
    afolder = myObject.GetFolder("c:\\tmp"); 
    alert('4'); 
    date = afolder.DateLastAccessed; 
    alert("The folder"+name+" is a temporary folder."); 

¿Estoy haciendo esto de la manera correcta?

Gracias!

+0

¿Qué dice la consola de errores de su navegador dice? – Oswald

+0

No dice nada, ya no hace nada después de que aparece con '2'. ¿Hay alguna manera de depurar esto? – Killerwes

+0

Disculpa, solo lo depuré con firebug. El error dice 'ActiveXObject no está definido' – Killerwes

Respuesta

4

El método que encontré en una búsqueda de Google usa HTML5, así que si está utilizando un navegador moderno, debería estar bien. Además, la página del tutorial parece verificar si el navegador que está utilizando admite las características. Si es así, debería ser bueno seguir el tutorial que parece bastante completo.

http://www.html5rocks.com/en/tutorials/file/dndfiles/

+3

Gracias por la respuesta, pero estoy buscando leer los archivos en una carpeta como en la lista de todos los archivos que están allí, no leer el contenido de los archivos. Acabo de intentar crear un objeto del filesystemobject, y tampoco hace nada. No parece funcionar aquí. Solo quiero enumerar todos los archivos que están en una carpeta determinada. – Killerwes

4

Esta solución sólo funciona en IE11 o más, ya que es MS basa

<script type="text/javascript"> 
    var fso = new ActiveXObject("Scripting.FileSystemObject"); 

    function showFolderFileList(folderspec) {  
     var s = ""; 
     var f = fso.GetFolder(folderspec); 

     // recurse subfolders 
     var subfolders = new Enumerator(f.SubFolders); 
     for(; !subfolders.atEnd(); subfolders.moveNext()) { 
      s += ShowFolderFileList((subfolders.item()).path); 
     } 

     // display all file path names. 
     var fc = new Enumerator(f.files); 
     for (; !fc.atEnd(); fc.moveNext()) { 
      s += fc.item() + "<br>"; 
     } 
     return s; 
    } 

    function listFiles() { 
     document.getElementById('files').innerHTML = showFolderFileList('C:'); 
    } 
</script> 

<input type='button' onclick='listFiles()' value='List Files' /> 
<div id="files" /> 
+0

Cuando intento esto obtengo el error "ActiveXObject no está definido". – Addem

+0

Hola Addem, esta solución solo funciona en IE11 o anterior ya que está basada en MS. ¿Puedes confirmar que es lo que estás usando? – BelgoCanadian

+0

@BelgoCanadian podría agregar su comentario a su respuesta – Shogunivar

Cuestiones relacionadas