Hi Julian,

I switched from Image/MemoryStream to FileStream as you suggested and
this has resolved the issue! Many thanks - I've been banging my head
against a brick wall way too long on this issue.

Then I moved onto the next stage of my mini-project. I'm using a 3rd
party library to read vCard files. In the vCard library, the Photo
field is implemented as an Image. So I'm back to square one! Although
at least now I know that the problem has something to do with the
Image.Save( Stream, ... ) function.

I did a little more testing and found out the following:

* Tried Image.Save( MemoryStream, Image.RawFormat ) - that didn't make
any difference.
* Tried Image.Save( MemoryStream, ImageCodecInfo, Parameters ) passing
up the Compression parameter for a Jpeg. This also made no difference.
* Tried Image.Save( FileName ) and then opened the file using a newly
constructed FileStream. This worked, so there must something I'm
missing with the other versions of the routine.

I'd like to do this in memory. Any suggestions?

Regards,

Camel

On Mar 4, 2:31 am, "Julian (Google)" <[email protected]> wrote:
> Hi Camel,
>
> Are you getting the error only with this particular image? Please try
> a smaller one.
>
> You can also try the following:
>
> System.IO.FileStream fs = new System.IO.FileStream("C:\\foto.jpg",
> System.IO.FileMode.Open);
> contactsService.Update(entry.PhotoEditUri, fs, "image/jpg", "Contact
> Photo");
>
> Something important, the latest library was updated to use Contacts V2
> and the EditPhotoUri is not longer used.
>
> -Julian
>
> On Mar 2, 3:20 am, Camel <[email protected]> wrote:
>
> > After some research, I've tried the following code:
>
> >     System.Drawing.Bitmap Image = new Bitmap( @"C:\test.jpg" );
> >     System.IO.MemoryStream Memory = new MemoryStream();
> >     Image.Save( Memory, System.Drawing.Imaging.ImageFormat.Jpeg );
>
> >     Service.Update
> >         (
> >             Contact.PhotoEditUri,
> >             Memory,
> >             "image/jpeg",
> >             null
> >         );
>
> > The Service is using ClientLogin authentication. Before this code
> > runs, I have successfully retrieved the contact.
>
> > After this code runs, however, I get a GDataRequestException. The
> > error message returned is, "A temporary internal problem has occurred.
> > Try again later". The error message in the InnerException contains the
> > following, "The remote server returned an error: (500) Internal Server
> > Error."
>
> > After yet more research, I found hints that the error codes from the
> > Google service may not be all that descriptive - and may simply return
> > error 500.
>
> > So maybe the problem is with my code? Does anybody have sample code to
> > demonstrate how this should be done?
>
> > Thanks,
>
> > Camel
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Contacts API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-contacts-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to