Android Chrome 向具有非常规扩展名(例如 3dxml)的下载文件添加不需要的“.txt”扩展名

问题描述 投票:0回答:1

在我的客户端 JavaScript 代码中,我需要下载一个具有特定文件扩展名的 Blob(.3dxml => 3D 设计模型文件)。为此,我创建一个隐藏的 html“a”标签,将 blob url 链接到此标签,并指定带有扩展名的预期文件名(例如 xyz.3dxml)。然后我模拟此链接上的点击事件。这在 Windows 桌面 Chrome 浏览器中运行良好。但在 Android Chrome 浏览器中,下载后此文件显示为“xyz.3dxml.txt”。如果我使用更标准的文件扩展名(例如 *.stl),则不会出现此问题。

我使用以下代码。如果您有任何建议/建议,请告诉我。

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);
javascript android google-chrome download
1个回答
0
投票

一年零 11 个月后,我希望这对您有所帮助:

此处使用附件作为 mime 类型,以强制它与任何其他 mime 类型一起下载。

url1 = "data:attachment/plain;...."
© www.soinside.com 2019 - 2024. All rights reserved.