Datos y hojas de cálculo · CSV Limpiador
Cómo un navegador limpia un CSV grande en un Web Worker sin cargarlo
· Cómo funciona
csv procesamiento del navegador privacidad
'No cargar' suena a marketing hasta que ves cómo funciona. Esta publicación explica cómo un navegador lee un archivo localmente, por qué un Web Worker mantiene la página receptiva, qué limita el tamaño del archivo y cómo verificar que no se envía nada.
Una exportación grande y una herramienta web: qué sucede normalmente con su archivo y por qué cargarlo no es una necesidad técnica
Elegir un archivo en una página web puede parecerse a una carga, pero la selección y la transmisión son operaciones independientes del navegador. CSV El limpiador recibe un objeto Archivo después de que el visitante lo elige, valida el tipo permitido y el tamaño configurado y luego lee su texto dentro de la página. No es necesaria ninguna carga para la detección de delimitadores o la limpieza de filas.
El registro de producto autorizado dice que las filas se analizan en el dispositivo, mientras que el registro de herramienta limita la afirmación: su código no realiza ninguna solicitud que transporte datos de archivos, texto pegado o resultados generados. Las solicitudes de secuencias de comandos de análisis divulgadas son tráfico de página independiente, por lo que el lenguaje de privacidad debe distinguirlas de la ruta de procesamiento CSV.
Leer un archivo sin enviarlo: cómo la API de archivos del navegador le da a una página acceso a los bytes de su dispositivo
La implementación llama a `file.text()` en lugar de a la API FileReader mencionada en el esquema. Esa promesa se resuelve con una cadena de JavaScript disponible para la página. Un archivo JSON toma una rama de conversión separada; El texto delimitado se envía como un mensaje al trabajador junto con una opción de delimitador opcional.
La lectura local no otorga al sitio acceso general a la unidad. La página recibe sólo el archivo seleccionado a través del control del navegador. Almacena un nombre base para la eventual descarga, mantiene la tabla actual en la memoria de pestañas y borra ese estado cuando el visitante solicita un reinicio.
La página usa File.text() para leer bytes seleccionados sin cargarlos.
El análisis se ejecuta en un Web Worker creado de forma diferida en la primera llamada. El trabajador detecta el delimitador, escanea los caracteres a través de la misma máquina de estado utilizada por las pruebas y devuelve el encabezado, las filas, las advertencias y el indicador de lista de materiales completos. Las etiquetas de progreso se envían alrededor de esas etapas para que la interfaz principal pueda seguir actualizándose.
La descarga del escaneo evita que el bucle de caracteres sincrónico monopolice el hilo principal de la interfaz de usuario. No hace que el análisis sea gratuito ni transmitido; el texto fuente y la tabla devuelta todavía ocupan memoria. Al ocultar la página, el cliente cancela una llamada en curso y despide al trabajador para que una pestaña en segundo plano no lo retenga indefinidamente.
La memoria, no un límite de carga, es el límite: por qué el límite depende de su dispositivo y navegador en lugar de una cuota de servidor
El esquema decía que el límite era la memoria en lugar de un límite de carga, pero la interfaz enviada valida explícitamente un máximo de 50 MB. Ese umbral está tanto en la prosa de configuración como en el código del panel. Los recursos del dispositivo y del navegador aún pueden fallar por debajo de un máximo teórico, pero el artículo no debe borrar una protección deliberada del producto.
Las pruebas del repositorio tampoco pueden proporcionar un límite de fila universal, un multiplicador de memoria o un tiempo de procesamiento. El contenido del archivo cambia el número y la longitud de las cadenas creadas. La expectativa defendible es una entrada limitada más el análisis del trabajador, no una cifra de rendimiento que nunca se midió en el hardware del visitante.
La interfaz impone un límite de archivos 50 MB además de las restricciones del dispositivo
Para verificar el reclamo limitado de no carga, abra las herramientas de desarrollo después de que se cargue la página, borre la lista Red, elija una muestra distintiva inofensiva y ejecute una limpieza. Inspeccione las URL, los métodos y los cuerpos de las nuevas solicitudes para ese marcador. Una descarga CSV puede aparecer como una acción del navegador local en lugar de una solicitud a un punto final de conversión.
La inspección del código fuente complementa la observación: la ruta de carga utiliza texto de archivo, el trabajador importa el código del analizador local y downloadText crea la salida. La inspección en tiempo de ejecución detecta adiciones de implementación que la fuente por sí sola puede pasar por alto. Ninguno de los dos prueba qué hacen las extensiones del navegador o el sistema operativo, así que mantenga la conclusión limitada a la ruta de procesamiento de ToolAcre.
Ejemplo resuelto: limpiar una exportación grande mientras se observa el panel de red y el uso de la memoria, y qué esperar en un dispositivo con poca memoria
Utilice una muestra generada cómodamente por debajo del límite documentado, con suficientes filas para hacer visible el progreso pero sin datos del cliente. Observe la actividad del trabajador y obtenga una vista previa, aplique Recortar espacios en blanco y luego descargue. Registre si alguna solicitud contiene el marcador único; no publique megabytes por segundo ni gráficos de memoria inventados.
En un dispositivo restringido, la única predicción segura es que los recursos disponibles difieren. El límite configurado evita que archivos más grandes entren en esta ruta, mientras que la presión normal de la memoria del navegador sigue siendo posible. Si una pestaña de prueba se vuelve inestable, cierre otros trabajos, reduzca la muestra y conserve el original en lugar de prometer una solución alternativa universal.
Ejemplo resuelto: verificar una muestra inofensiva sin inventar memorias ni cifras de tiempo
La limpieza local no puede retraer un archivo enviado previamente a otro servicio y no puede procesar una entrada rechazada por el guardia de tamaño. Tampoco aísla la página de extensiones, historial del portapapeles o malware en la máquina. Esos son límites de amenazas distintos fuera de la implementación del analizador y del trabajador.
La herramienta conserva un historial de deshacer de hasta veinte estados de tabla durante la sesión, lo que también consume memoria local. Al borrar se restablecen la tabla y los controles; abandonar la página aborta y finaliza al trabajador. Este comportamiento es un detalle operativo útil, pero no es una garantía de borrado seguro de la memoria del navegador o del dispositivo.
El procesamiento en el dispositivo se puede verificar: cómo se ejecuta el limpiador ToolAcre CSV en su navegador y nunca carga su archivo
La ruta verificada completa es la selección, `File.text()`, análisis de trabajadores, transformaciones de filas puras, serialización y descarga del navegador. La configuración identifica el límite de admisión real 50 MB y la declaración de privacidad separa explícitamente las solicitudes de análisis divulgadas del contenido de la hoja de cálculo. Eso es más fuerte que un eslogan porque cada límite puede ser inspeccionado.
Ejecute la verificación de la red con datos no confidenciales siempre que los detalles de implementación sean importantes para su organización. La evidencia de la fuente actual y la sesión observada respalda una afirmación precisa: la operación CSV de ToolAcre no tiene un punto final de carga y no envía contenido de la tabla. Precision mantiene la declaración útil sin pretender que todo el navegador esté desconectado.