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 -~----------~----~----~----~------~----~------~--~---
