I have base64 encoded image. If I put it right into html it works:
But when I put all that b
You cannot do that, I believe. The first syntax corresponds to a pseudo protocol (scheme) data: that means that the data is not to be fetched from somewhere outside, but from the attribute string itself. As the "data" is in general binary, and the attribute is text, base64 is commonly used.
But when the data is fetched from outside the page (http server, or local filesystem), the data must come in raw (binary) form.
You could do it with some javascript work, of course.