第一种
HTML5 中的 a 标签有 download 属性,它的值就是 filename。
注意:这种方式,同源策略是没有问题的,跨域不行,跨域情况下会在当前页面打开图片。
- ---- ---
- -------- - ------- - -----------------
- - - -------
--- - --------
------ ----------
------
-
第二种(推荐)
- ---- -- -
- - ----- -- - -
- ----- - - ----
---------- ---
------- - --- -
- ------ - -------
-------- - --------
-------- - --------
- ------- - ------------
---------------- -- -- -------- ---------
- - - -------
- ----- - - -----
- ------ - -----------------
--- - -------- - --------- - - - ------- - -----------------
--- - ---------- - --------
-----------
-----
-
------- - --- -
-----
-
------- - --------
--
-
第三种 转为 base64 编码进行下载
注意:在获取图片的base64编码数据的时候,图片越大,转换后的base64编码就越长,应避免对大图的编码转换,防止超出浏览器的访问路径长度限制。
- ---- -
- ----- - - ---
---------- --
------- - - -- -
- ------ - ------
-------- - --------
-------- - --------
- ------- - ------------
---------------- -- -- -------- ---------
- - - -------
--- - --
--- - ------------
------
-
------- - -------
-
第四种 利用XMLHttpRequest,blob 进行下载
- ---- -
- --- - - ----
-------- ------- ---
----- - --
----- - - -- -
- --- - -------------
- - - -------
--- - ----
--- - --
------
-
--------
-