Estoy usando la carga reanudable sin problemas en los navegadores de cromo. Yo uso js, específicamente angular.
let headers = new HttpHeaders( { 'Content-Type': 'application/octet-stream', 'Content-Range': 'bytes 0-*/*', }); if (offset) { headers = headers.set('Content-Range', 'bytes ' + (offset + 1) + '-*/*'); params = (params.slice(offset + 1) as File); } const req = new HttpRequest( 'PUT', url, params, { headers, reportProgress: true }, ); return this.http.request<File>(req);En firefox, por alguna razón, si el archivo tiene más de 5 GB, falla de manera no determinante en cuanto al tiempo, el tamaño cargado o el porcentaje de carga. Por lo general, es alrededor de 300 y/o 2-3 GB. La carga comienza bien, pero falla en algún punto del camino.
Recibo un error de CORS en ese momento y no puedo reanudar la carga.
Solicitud de origen cruzado bloqueada: la política del mismo origen no permite leer el recurso remoto en https://storage.googleapis.com/repo-name/uploads/guid?upload_id=blahblah&uploadType=resumable . (Razón: la solicitud de CORS no tuvo éxito)
Intenté cargar manualmente el mismo conjunto de archivos en Google Drive manualmente en Firefox y, efectivamente, también aparece el error CORS, pero supongo que su implementación es mejor, porque pueden reanudar la carga, pero después de un tiempo arroja el mismo error.
La única diferencia que veo es que estoy tratando de hacer una solicitud PUT (a menos que falle, luego envío los otros fragmentos en uno separado), en Google Drive, lo fragmentan y hacen un montón de PUT. También identifican correctamente el tipo de contenido como ie. video/x-matroska, uso octet-stream.
Funciona para archivos de menos de 4 GB en Firefox y funciona independientemente del tamaño en los navegadores Chromium. ¿Algún consejo sobre lo que estoy haciendo?