使用文件上传器上传文件在画布上绘制图像

时间:2014-02-19 07:36:29

标签: file-upload html5-canvas

我正在尝试在画布上绘制图像,使用File Uploader上传图像文件。它在Chrome和IE10上工作正常,但它在IE9上打破。我使用的createObjectURL方法在IE9上不支持(我猜...)。有没有其他方法可以在IE9上运行这个工作?

我在画布上绘制图像的代码

    var URL = window.webkitURL || window.URL ;
    if ($("#rwAddImage_C_RadUploadImgfile0")[0].files[0] == undefined || $("#rwAddImage_C_RadUploadImgfile0")[0].files[0] == null) {
        alert('Please select image');
        return;
    }

    var url = URL.createObjectURL($("#rwAddImage_C_RadUploadImgfile0")[0].files[0]);
    var img = new Image();
    img.src = url;

    img.onload = function () {

        img_width = ($('#rwAddImage_C_txtImgWidth').val() != "" ? $('#rwAddImage_C_txtImgWidth').val() : img.width);
        img_height = ($('#rwAddImage_C_txtImgHeight').val() != "" ? $('#rwAddImage_C_txtImgHeight').val() : img.width);

        context.drawImage(img, imgPosX, imgPosY, img_width, img_height);
        img_update();
        cPush();
    }

1 个答案:

答案 0 :(得分:0)

IE9不支持在不绕过服务器的情况下将图像“上传”到javascript的方法。因此,解决IE9此问题的唯一方法是将图像上传到服务器,然后在上传完成后再从该服务器下载。

这需要使用PHP,NodeJS,ASP,JSP或您熟悉且可用的任何其他服务器端Web技术进行一些服务器端编程。