Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   конвертация image в base64 (https://javascript.ru/forum/css-html/76659-konvertaciya-image-v-base64.html)

seltrix 31.01.2019 07:36

конвертация image в base64
 
Добрый день.
Пытаюсь сконвертировать картинку по ссылке в base64, но результат получается таков: "data:,"
Что делаю не так?

код:

Код:

<html lang="ru">
<head>
  <meta charset="utf-8" />
  <title></title>
  <link rel="stylesheet" href="" />
</head>
<body>
        <img id="bannerImg" src="http://i.mycdn.me/i?r=AzGBqNaF5OQp2lMpnhRx4DEF6n4GIK-fj2ZRG4FZpDcQFF2nfVKdvp0RnpOmdvULI2k" />
        <p><a href="page2.html">Go to page 2</a></p> 

<script type="text/javascript">
	
	function getBase64Image(img) {  
		let canvas = document.createElement("canvas");  
		canvas.width = img.width;  
		canvas.height = img.height;  
	  
		let ctx = canvas.getContext("2d");  
		ctx.drawImage(img, 0, 0);  
	   
		let dataURL = canvas.toDataURL("image/png");  
		
		return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");  
	}  
  
	function getBase64ImageById(id){  
	   return getBase64Image(document.getElementById(id));  
	}  

console.log(getBase64ImageById("bannerImg"));
	
	</script>

</body>
</html>


laimas 31.01.2019 07:45

canvas.width = img.width;
canvas.height = img.height;

Нужно загрузить, потом узнавать размеры. И картинка должна быть своей.

seltrix 31.01.2019 08:32

Что значит своей? Находиться на моем сервере или загружаться с компьютера пользователя?
А можно сделать чтобы она по ссылке могла подгружаться в том числе и с чужого ресурса?

seltrix 31.01.2019 08:36

И в чем разница своя она или нет? По факту это в любом случае ведь url и загрузка в элемент img? Будь она на моем сервере или чужом

MallSerg 31.01.2019 08:41

Почитай в интернете про политику одного источника. Или CORS


Часовой пояс GMT +3, время: 02:15.