非标
此特征是非标准的,且不在标准轨道中。不要在面向 Web 的生产站点中使用它:它不适用于每个用户。实现之间可能存在大的不兼容性,且行为将来可能改变。
The non-standard, Firefox-specific the
HTMLCanvasElement
方法
mozGetAsFile()
returns a memory-based
File
object representing the image contained in the canvas.
canvas.mozGetAsFile(name, type);
名称
DOMString
indicating the file name to give the file representing the image file in memory.
type
可选
DOMString
which specifies the image file format to use when creating the new image file. The default type is
image/png
. For other options, see our
Image file type and format guide
.
A
File
object representing the image contained in the canvas. The file's data is entirely located in memory until such time as it is explicitly written to disk.
This example creates an image file from the
<canvas>
element on the page, then uses a
FileReader
to read the image data from the file.
<canvas id="canvas" width="100" height="100"></canvas> <p><a href="#" id="link">Click here to try out mozGetAsFile()</a>.</p>
The following code uses
mozGetAsFile()
to create a
File
object from the canvas and appends it as an image to the page by loading it as a data URL using the
readAsDataURL()
method. Then a new
<img>
element is created using the new data URL.
function draw() {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'rgb(200, 0, 0)';
ctx.fillRect(10, 10, 55, 50);
ctx.fillStyle = 'rgba(0, 0, 200, 0.5)';
ctx.fillRect(30, 30, 55, 50);
var link = document.getElementById('link');
link.addEventListener('click', copy);
}
function copy() {
var canvas = document.getElementById('canvas');
var f = canvas.mozGetAsFile('test.png');
var reader = new FileReader();
reader.readAsDataURL(f);
reader.onloadend = function() {
var newImg = document.createElement('img');
newImg.src = reader.result;
document.body.appendChild(newImg);
}
}
window.addEventListener('load', draw);
Not part of any specification.
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
mozGetAsFile
弃用
非标
|
Chrome No | Edge No |
Firefox
4 — 74
|
IE No | Opera No | Safari No | WebView Android No | Chrome Android No | Firefox Android 4 | Opera Android No | Safari iOS No | Samsung Internet Android No |
完整支持
不支持
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
见实现注意事项。