小编Kes*_*thi的帖子

html5-canvas:将Image文件转换为DataURL会抛出Uncaught TypeError

我正在尝试在Javascript中获取所选图像文件的Base64/Data URL.用户基本上通过文件输入控件选择图像,并生成数据URL.但是,我收到此错误:

未捕获的TypeError:无法在'CanvasRenderingContext2D'上执行'drawImage':提供的值不是'(HTMLImageElement或HTMLVideoElement或HTMLCanvasElement或ImageBitmap)'

HTML:

<body>
    <form id="form1">
    <div>
        <input type="file" id="imageinput" onchange="testit(event)" />
        <canvas width="300" height="300" id="mycanvas" style="display: none;"></canvas>
    </div>
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

function testit(event) {

            var myImage = URL.createObjectURL(event.target.files[0]);

            var myCanvas = document.getElementById('mycanvas');

            var ctx = myCanvas.getContext('2d');

            ctx.drawImage(myImage, 0, 0);

            var mydataURL = myCanvas.toDataURL('image/jpg');

            alert(mydataURL);

        }
Run Code Online (Sandbox Code Playgroud)

为什么这段代码不起作用,伙计们?

html javascript canvas html5-canvas

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

canvas ×1

html ×1

html5-canvas ×1

javascript ×1