0

I am binding an image from a byte array in MVC4 view , The byte array is returned from a WEB API which I need to bind it to a view .

Below is the code

string str="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";

                   Byte[] image = GetBytes(str);

                    {
                        Model.ImageData = image;
                    }

 static byte[] GetBytes(string str)
        {
            byte[] bytes = new byte[str.Length * sizeof(char)];
            System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
            return bytes;
        }

in view Bind it as

 <img src="data:image;base64,@System.Convert.ToBase64String(Model.ImageData)" />

The image is not rendering , it is showing an image icon only in page .

Where it is going wrong .Please suggest .

1 Answer 1

1

Your str looks like it is already base64, so you don't need to dance to binary and back. You can just stick it in the view where it should be.

Decoding that string from base64 revealed that it is not an image, it's a pdf file. So your api (3d party, I guess) serves you not an image.

And lastly to successfully use an image like that you probably need to specify mime type like this <img src="data:image/png;base64,some text representation of binary data" />

http://en.wikipedia.org/wiki/Data_URI_scheme

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.