En mi aplicación web, el usuario selecciona un archivo zip grande a través de un botón de "archivo de entrada".
Luego, el archivo se devuelve como un blob (consulte la instantánea zipfile1).
Luego, el programa lee fragmentos (archivos individuales) del archivo zip uno tras otro.
Un programa de prueba lee todos los archivos en una secuencia y luego repite la secuencia varias veces.
Esto funciona bien en varios sistemas operativos (Windows Linux, MacOs, Android) a través de varios navegadores (Chrome, Firefox, Safari).
Pero en iOS, a veces, el objeto blob se pierde y el proceso devuelve un error.
En tal caso, puedo seleccionar el archivo nuevamente para continuar con el proceso.
Pero me gustaría hacer esto programáticamente, sin necesidad de intervención manual.
Todavía tengo el nombre del archivo, pero el tamaño del blob es 0 (vea la instantánea zipfile2).
¿Es posible volver a abrir el archivo programáticamente?
Gracias
EDITAR:
traté de llamar
let zipFileUrl = URL.createObjectURL(zipFile); tener algún tipo de "manejador" para el archivo en la memoria sin los datos reales .
La idea era que más adelante, si el objeto del archivo se corrompe, puedo fetch(zipFileUrl) para volver a abrir el archivo.
Desafortunadamente, createObjectURL crea un blob de memoria a partir de todo el archivo en la memoria, lo cual es inútil para mí porque el archivo es demasiado grande...