En mi código javascript del lado del cliente, hay un blob que necesito descargar con una extensión de archivo específica (.3dxml => archivo de modelo de diseño 3D). Para esto, creo una etiqueta html "a" oculta, vinculo la URL del blob a esta etiqueta y especifico el nombre de archivo deseado con la extensión (por ejemplo, xyz.3dxml). Luego simulo un evento de clic en este enlace. Esto funciona bien en el navegador Chrome de escritorio de Windows. Pero en el navegador Chrome de Android, después de descargar este archivo aparece como "xyz.3dxml.txt". Este problema no ocurre si utilizo una extensión de archivo más estándar (p. ej., *.stl).
Yo uso el siguiente código. Por favor, hágamelo saber si tiene alguna sugerencia/consejo.
var blob = new Blob([bufferOut]); var url = window.URL; var objectURL = url.createObjectURL(blob); var doc = window.document; var saveLink = doc.createElementNS("http://www.w3.org/1999/xhtml", "a"); saveLink.href = objectURL; saveLink.download = "xyz.3dxml"; saveLink.type = 'application/octet-stream'; var event = doc.createEvent("MouseEvents"); event.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); saveLink.dispatchEvent(event); url.revokeObjectURL(objectURL);