How to get image bytes string (base64) in html5, jquery, javascript?

前端 未结 2 975
礼貌的吻别
礼貌的吻别 2020-12-07 00:48

I have an image in iPhone or Android and I want to pass that file stream or bytes string through jQuery AJAX to Web Service to store file on server.

So, in HTML5 how

2条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-07 01:34

    You could copy the image to a canvas with the same size using canvas.drawImage(image, 0, 0) and then use the .toDataURL('image/TYPE') method of the canvas to retrieve the base64 representation of the image. 'TYPE' would then be either jpg, gif or png

    Example: Make sure that the current page and the image are both on the same domain, subdomain and protocol otherwise you will get a security error. Also make sure that the canvas has the same width and height as the image

    HTML

    
    
    

    Javascript

    var myImage = document.getElementById('myimage');
    var myCanvas = document.getElementById('mycanvas');
    
    var ctx = myCanvas.getContext('2d');
    
    ctx.drawImage(myImage, 0, 0);
    
    var mydataURL=myCanvas.toDataURL('image/jpg');
    

提交回复
热议问题