dando una ruta de un archivo como:
C: \ archivo.jpg
¿cómo puedo obtener el tamaño del archivo en javascript?obteniendo el tamaño de archivo en javascript
Respuesta
Si no es una aplicación local accionado mediante JavaScript con permisos de acceso completo, no puede obtener el tamaño de ningún archivo solo desde el nombre de ruta. Las páginas web que ejecutan javascript no tienen acceso al sistema de archivos local por razones de seguridad.
Puede usar una graciosa herramienta para subir archivos como SWFUpload si desea mostrar una barra de progreso. HTML5 también tiene el File API, pero aún no es ampliamente compatible. Si un usuario selecciona el archivo para un elemento input[type=file]
, puede obtener detalles sobre el archivo de la colección files
:
alert(myInp.files[0].size);
Creo que lo mismo, pero ¿cómo algunas aplicaciones web inteligentes muestran la barra de progreso durante la carga? – Andrey
@Andrey: otras aplicaciones web usan Java o Flash. Actualicé mi respuesta con un enlace al popular [SWFUpload] (http://www.swfupload.org/). –
@Andrey Otras herramientas de secuencia de comandos como Flash, ActiveX, etc. pueden acceder al sistema de archivos local. Alternativamente, ciertas técnicas del lado del servidor se pueden usar para monitorear el progreso de carga de archivos y alimentar esa información cuando javascript lo solicite –
No se puede obtener el tamaño de archivo de los archivos locales con javascript de forma estándar utilizando un navegador web.
Pero si el archivo es accesible desde una ruta remota, es posible que pueda enviar una petición HEAD con Javascript, y leer la cabecera Content-Length, dependiendo del servidor web
Usted no puede, como no hay entrada/salida de archivo en Javascript. Ver here para una pregunta similar publicada.
No puede.
JavaScript no puede acceder a los archivos en la computadora local por razones de seguridad, incluso para verificar su tamaño.
Lo único que puede hacer es usar JavaScript para enviar el formulario con el campo file
a un script del lado del servidor, que luego puede medir su tamaño y devolverlo.
Si pudiera acceder al sistema de archivos de un usuario con javascript, imagine lo malo que podría pasar.
Sin embargo, puede utilizar File System Object pero esto sólo funcionará en IE:
http://bytes.com/topic/javascript/answers/460516-check-file-size-javascript
+1 hay una solución increíble en la última respuesta – Andrey
function findSize() {
var fileInput = document.getElementById("fUpload");
try{
alert(fileInput.files[0].size); // Size returned in bytes.
}catch(e){
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
var e = objFSO.getFile(fileInput.value);
var fileSize = e.size;
alert(fileSize);
}
}
¿puede agregar una explicación? – CraigTeegarden
Oh, supongo que la trampa para los navegadores no es compatible con la forma HTML5 – GabrielBB
Para obtener el tamaño del archivo de páginas en la web he construido un bookmarklet Javascript para hacer el truco. Alerta el tamaño en kb. Cambie la alerta a un aviso si desea copiar el tamaño del archivo.
Aquí está el código bookmarklet para la alerta.
<a href="javascript:a=document.getElementsByTagName('HTML')[0].outerHTML;b=a.length/1024;c=Math.round(b);alert(c+' kb');">Doc Size</a>
Aquí está el código del bookmarklet para el aviso.
<a href="javascript:a=document.getElementsByTagName('HTML')[0].outerHTML;b=a.length/1024;c=Math.round(b);prompt('Page Size',c+' kb');">Doc Size</a>
verlo en acción en http://bookmarklets.to.g0.to/filesize.php
prueba este.
function showFileSize() {
let file = document.getElementById("file").files[0];
if(file) {
alert(file.size + " in bytes");
} else {
alert("select a file... duh");
}
}
<input type="file" id="file"/>
<button onclick="showFileSize()">show file size</button>
- 1. Obteniendo tamaño de archivo de OpenFileDialog?
- 2. C++: obteniendo un tamaño de archivo incorrecto
- 3. Obteniendo un tamaño de archivo preciso en megabytes?
- 4. Obteniendo el tamaño de un Objeto Qt
- 5. Obteniendo el tamaño en memoria de un objeto en PHP?
- 6. Obteniendo el tamaño original de una imagen escalada
- 7. Python - Obteniendo el tamaño de archivo del objeto desde la carga de archivos en Flask
- 8. Obteniendo comportamiento sincrónico en javascript?
- 9. Android: obteniendo el tamaño de archivo de la imagen antes de compartirla (Intent.ACTION_SEND)
- 10. Obteniendo el tamaño real de UserControl antes de renderizar
- 11. Obteniendo métricas de fuentes en JavaScript?
- 12. Obteniendo el tamaño actual de los controles WPF
- 13. obteniendo muy rápidamente el tamaño total de la carpeta
- 14. Obteniendo el índice Z de un DIV en JavaScript?
- 15. Obteniendo el valor de retorno del código Javascript en Selenium
- 16. Obteniendo el tipo/tamaño de `time_t` usando ctypes
- 17. ¿Cómo obtener el tamaño de archivo desde el lado del cliente sin usar activex en javascript?
- 18. Obteniendo la extensión de archivo en C
- 19. cómo validar el tamaño del archivo usando HTML y Javascript en el lado del cliente
- 20. Javascript para verificar el tamaño del archivo antes de cargarlo en Internet Explorer
- 21. Obteniendo el atributo href de una imagen con Javascript
- 22. Obteniendo la siguiente línea en un archivo
- 23. Obteniendo/configurando el propietario del archivo en C#
- 24. JavaScript - Obteniendo valores de formulario HTML
- 25. obteniendo parte de una imagen con JavaScript
- 26. Limitar el tamaño del archivo en el repositorio de git
- 27. Reducir el tamaño del archivo de pdf
- 28. ¿Cómo verificar el tamaño de un archivo?
- 29. Obteniendo FILEVERSION desde el Archivo de recursos de Visual C++
- 30. Cambiar el tamaño de la imagen con JavaScript
http://code.google.com/p/gwtupload/ cheque esta cosa.De alguna manera logran mostrar la barra de progreso de carga – Andrey
¿Tiene un servidor web capaz de acceder a 'C:'? Si su SO está en 'C:', desaconsejo eso, pero primero lo primero. – vol7ron