Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7805387
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T02:12:37+00:00 2026-06-02T02:12:37+00:00

I’m stuck with an annoying problem. There is a database containing images as byte

  • 0

I’m stuck with an annoying problem.

There is a database containing images as byte arrays. I use the following method to get the images back from the byte arrays:

// byte[] ImageData contains the image loaded from the DB.

var stream = new MemoryStream(ImageData);
Image img = Image.FromStream(stream);
img.Save("D://Test/test.png", ImageFormat.Png);

When the Client requests an image from the server I run the above code on both server AND client side (with different filenames).

The thing is: when I’m on server side, this works wonderfully. File saves, and I can open and view the image in Windows Photo Viewer.

But when I get to client side, it seems like there have been some changes to this byte array, and Image throws an exception complaining about invalid parameters.

Also, I tried to save the byte array as it is with .png extension and then open it with Photo Viewer. It also fails.

What could possibly happen to my data when travelling through WCF, that causes the faulty byte array?

EDIT: Results of comparing files on server and client side.

Arrays look the same on both sides, EXCEPT on client side they miss the last few bytes.
Even though the array on client side has actually LESS data, the file size says the client side image is BIGGER (by exactly 55 bytes) than it was on the server side.

The server is nothing fancy. Client calls DownloadImg in a BackgroundThread, but directly on the service reference like this:

var result = _service.DownloadImg(id);

Service interface:

[ServiceContract(Namespace="http://cannottellyou.com")]
public interface IImageService
{
    [OperationContract]
    DBImage DownloadImg(int id);
}

The Image object:

[DataContract(Namespace="http://cannottellyou.com")]
public class DBImage
{
    [DataMember]
    public virtual byte[] Data { get; set; }
}

The function that loads the image on server:

public class ImgService: IImageService
{
    public DBImage DownloadImg(int id)
    {
        var img = new DBImage();

        //That is where we get the byte array, and where I tested the image with the above code, and it works. I am sorry I cannot tell you more about this part...
        // img.Data holds the byte[] by now

        return img;
    }
}

The binding:

<binding name="BinBinding" messageEncoding="Mtom"
    closeTimeout="00:10:00"
    openTimeout="00:01:00"
    sendTimeout="00:05:00"
    receiveTimeout="00:10:00"
    maxReceivedMessageSize="67108864"
    maxBufferPoolSize="65536">
    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="2097152"
        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    <security mode="None">
        <message  />
    </security>
</binding>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-02T02:12:38+00:00Added an answer on June 2, 2026 at 2:12 am

    It seems like this was caused by the Mtom encoding. We switched to Base64 and everything is fine now.

    But still don’t know exactly why…

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am currently running into a problem where an element is coming back from
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I am trying to understand how to use SyndicationItem to display feed which is
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
I want use html5's new tag to play a wav file (currently only supported
I'm using v2.0 of ClassTextile.php, with the following call: $testimonial_text = $textile->TextileRestricted($_POST['testimonial']); ... and
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
I'm parsing an XML file, the creators of it stuck in a bunch social
I'm trying to use string.replace('’','') to replace the dreaded weird single-quote character: ’ (aka

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.