Javascript 为什么要下载文本/普通图像类型

Javascript 为什么要下载文本/普通图像类型,javascript,jquery,asp.net,web-services,mime-types,Javascript,Jquery,Asp.net,Web Services,Mime Types,我有一个asp.net web服务,如下所示,用于返回base 64: 下面是我的ajax调用: 它工作正常,正在下载文本文件,因为我已经将dataUri设置为data:text/plain;base64但当我提供文件名为“pointing_2017_07_17_03_17_60.png”这是一个图像文件时,它也在下载,尽管datauri设置为text/plain 下面是我对txt文件和图像文件的html标记: <a href="data:text/plain;base64,certa

我有一个asp.net web服务,如下所示,用于返回base 64:

下面是我的ajax调用:

它工作正常,正在下载文本文件,因为我已经将dataUri设置为data:text/plain;base64但当我提供文件名为“pointing_2017_07_17_03_17_60.png”这是一个图像文件时,它也在下载,尽管datauri设置为text/plain

下面是我对txt文件和图像文件的html标记:

<a href="data:text/plain;base64,certainbase64data" download="pointing_2017_07_17_03_17_60.png" style="display: none;"></a>
txt文件:

<a href="data:text/plain;base64,certainbase64data" download="a.txt" style="display: none;"></a>

图像文件:

<a href="data:text/plain;base64,certainbase64data" download="pointing_2017_07_17_03_17_60.png" style="display: none;"></a>

href=“data:text/plain;base64
此属性同时下载文本和图像文件


我想知道为什么text/plain同时下载图像和文本文件?

text/plain
是文本文件的默认值。即使它真的意味着未知的文本文件,浏览器也认为它们可以显示它

请注意,text/plain并不表示任何类型的文本数据 期待一种特定的文本数据,他们可能不会考虑 这是一个匹配。特别是如果他们从 元素声明一个CSS文件,他们不会将其识别为 如果显示为text/plain,则为有效的CSS文件。CSS mime类型 必须使用text/css

有关详细信息:

因此,您的pointing_2017_07_17_03_17_60.png文件也被视为文本文件

<a href="data:text/plain;base64,certainbase64data" download="pointing_2017_07_17_03_17_60.png" style="display: none;"></a>