Skip to content

jpegdecompresssurface : picture decode failed : e00002d1 #40

Open

Description

@totoourworld

jpegdecompresssurface : picture decode failed : e00002d1
I can get exact same data as image data from sql server.
So i try to load image from NSData, below the code,

  • (void)process:(NSArray*)results
    {
    NSArray *table=[results objectAtIndex:0];
    NSDictionary *row=[table objectAtIndex:0];
    NSData *image_source=[row objectForKey:@"Company_Logo"];
    UIImage *image=[[UIImage alloc] initWithData:image_source];
    image=[UIImage imageWithData:image_source];
    [self.imageView setImage :image];
    }
    but the final step , it is showing like this, in here
    // [self.imageView setImage :image];
    jpegdecompresssurface : picture decode failed : e00002d1
    How can i solve this?
    Regards.

Activity

  1. martinrybak commented on Jan 23, 2017

    @martinrybak
    Owner

    Please try the types branch.

  2. totoourworld commented on Jan 23, 2017

    @totoourworld
    Author

    I used types branch and used the sample project for testing but same.
    can you give me the source code for that?
    I checked the
    NSData *image_source=[row objectForKey:@"Company_Logo"];
    by log the value.
    but same as data in sql.
    How can i use this for mapping to uiimage type?
    can you teach me?
    i want your reply. thanks .
    king regards,

  3. martinrybak commented on Jan 23, 2017

    @martinrybak
    Owner

    It could be related to this:
    https://msdn.microsoft.com/en-us/library/ms177687(v=sql.90).aspx

    What version of SQL Server are you using?
    What data type is the column with the image?
    If possible, can you attach the image file here?

  4. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    I am using the SQL EXPRESS 2016.
    I used the Company_Logo(image,null) for saving/loading image.

    Additionally, I am trying to load the image that saved by C# program i made.
    In android , the image can be read by byte array and convert that to bitmap image, and it is working.
    In C# , it is also working well.

    but in iOS when i tried to do like that with above code , it is showing
    jpegdecompresssurface : picture decode failed : e00002d1

  5. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    1

  6. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    3d_apple_logo_preview_featured

  7. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    visual_csharp_logo1-300x230

  8. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    images

  9. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    These three pictures , i used to try.
    jpg file looks like that issue , but png file is not showing at all.

  10. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    Hello , Mr.Martin Rybak.
    I tried to debug the code and found something related.
    So, (void)process:(NSArray*)results
    {
    NSArray *table=[results objectAtIndex:0];
    NSDictionary *row=[table objectAtIndex:0];
    NSData *image_source=[row objectForKey:@"Company_Logo"];
    UIImage image=[[UIImage alloc] initWithData:image_source];
    image=[UIImage imageWithData:image_source];
    [self.imageView setImage :image];
    }
    in this code ,(NSArray
    ) results is returning values from sql.
    in here , i checked the @"Company_Logo".
    It was NSInlineData and 4096bytes.
    That's why the above 5kb jpg image is not showing full.
    I tried to use small jpg image (for example 400bytes) , and it is showing well.
    Can you give me some solution for large image?
    Really thanks for your help.
    Regards.

  11. martinrybak commented on Jan 24, 2017

    @martinrybak
    Owner

    Please put a breakpoint on line 544 of SQLClient.m:

    https://github.com/martinrybak/SQLClient/blob/types/SQLClient/SQLClient/SQLClient/SQLClient.m#L544

    What is the value of column->size?

  12. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    in image type the column size is 4096

  13. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    column->size is 4096

  14. martinrybak commented on Jan 24, 2017

    @martinrybak
    Owner

    OK, to be sure, put a breakpoint on this line and verify that dbcollen(_connection, c) is returning 4096 for your image column.

    https://github.com/martinrybak/SQLClient/blob/types/SQLClient/SQLClient/SQLClient/SQLClient.m#L261

  15. martinrybak commented on Jan 24, 2017

    @martinrybak
    Owner

    Also try changing your data type from image to varbinary(max)

  16. 9 remaining items

  17. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    I got file path using your reference source code ,
    "/var/containers/Bundle/Application/0E8B03A5-869A-4435-AE41-21972F55CA4B/SQLClient.app/freetds.conf"
    so i set above path as value of FREETDS.

  18. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    what value would i check by debugging?

  19. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    00b9eedc-325f-4313-95ba-c97b0a649ffa
    9f1448e2-d6b8-4b26-acb7-4323ae25c50f
    14048687-816f-4288-bfd4-e90db90ac44d

  20. martinrybak commented on Jan 24, 2017

    @martinrybak
    Owner

    The value must be relative to your app. Try freetds.conf instead.

  21. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    I changed with your instruction
    and tested , again . but the column->size of image is still 4096

  22. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    ef9826a7-0c22-496b-91c7-dd11a662395a
    4f0e0644-3328-4224-bb90-386516836e4c

  23. martinrybak commented on Jan 24, 2017

    @martinrybak
    Owner

    Try setting other values to verify that TDS is finding your file.
    http://www.freetds.org/userguide/freetdsconf.htm

  24. totoourworld commented on Jan 24, 2017

    @totoourworld
    Author

    i setup the sql express 2016 to other computer windows 10 system.
    in here , TDS version how can i check this?

    I am really sorry for bothering your time, but can you teach me via my screen? like using teamviewer,sir?

  25. martinrybak commented on Jan 24, 2017

    @martinrybak
    Owner

    I'm sorry, I can't do that. Please do some reading up on FreeTDS until you can customize the text size setting. I think that is the problem.

  26. totoourworld commented on Jan 25, 2017

    @totoourworld
    Author

    so the conclsion is change the text size?

  27. amiparaharikant commented on Aug 4, 2018

    @amiparaharikant

    i facing this issue in my iOS app. please help me out. thank you.

    in android application is working fine to get binary image from SQL server but facing issue in iOS and load some part of image only.

  28. totoourworld commented on Aug 4, 2018

    @totoourworld
    Author
  29. amiparaharikant commented on Aug 4, 2018

    @amiparaharikant

    screen shot 2018-08-04 at 11 38 59 am
    @totoourworld i'm getting size of image is still 4096

  30. amiparaharikant commented on Aug 4, 2018

    @amiparaharikant

    is this issue of getting size of image 4096byte is from SQL SERVER ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions