A long-lived bug: http://code.google.com/p/gdata-issues/issues/detail?id=151
On Mon, May 18, 2009 at 6:45 PM, Neal <[email protected]> wrote: > > I confirm Base64 data no problem. > > Here's code: > > logger.fine(newPhoto+""); > logger.fine(newPhoto.getBase64Data().length()+""); > logger.fine(newPhoto.getBase64Data()); > > PhotoEntry myPhoto = new PhotoEntry(); > myPhoto.setTitle(new PlainTextConstruct(newPhoto.getTitle())); > myPhoto.setDescription(new PlainTextConstruct(newPhoto.getDescription > ())); > myPhoto.setClient("camix"); > byte[] bytes = Base64.decode(newPhoto.getBase64Data()); //Decode > Base64 string > > > MediaByteArraySource media = new MediaByteArraySource(bytes, "image/ > png"); > myPhoto.setMediaSource(media); > > URL albumPostUrl = new URL("http://picasaweb.google.com/data/feed/api/ > user/zhongwangmi/albumid/5336987300048031361<http://picasaweb.google.com/data/feed/api/%0Auser/zhongwangmi/albumid/5336987300048031361> > "); > > PhotoEntry photoEntry = getService().insert(albumPostUrl, entry); > > > > > debug message: > > FINE: POST > http://picasaweb.google.com/data/feed/api/user/zhongwangmi/albumid/5336987300048031361 > May 19, 2009 1:19:52 AM com.google.gdata.client.http.HttpGDataRequest > setHeader > FINER: Content-Type: multipart/related;boundary="---- > =_Part_0_10735171.1242695992169" > May 19, 2009 1:19:52 AM com.google.gdata.client.http.HttpGDataRequest > setPrivateHeader > FINER: Authorization: <Not Logged> > May 19, 2009 1:19:52 AM com.google.gdata.client.http.HttpGDataRequest > setHeader > FINER: User-Agent: lh2 GData-Java/1.31.1(gzip) > May 19, 2009 1:19:52 AM com.google.gdata.client.http.HttpGDataRequest > setHeader > FINER: Accept-Encoding: gzip > May 19, 2009 1:19:52 AM com.google.gdata.client.http.HttpGDataRequest > setHeader > FINER: GData-Version: 1.0 > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINE: 400 OK > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: content-type: text/html; charset=UTF-8 > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: content-encoding: gzip > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: transfer-encoding: chunked > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: date: Tue > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: date: 19 May 2009 01:19:55 GMT > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: cache-control: private > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: cache-control: must-revalidate > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: cache-control: max-age=0 > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: x-content-type-options: nosniff > May 19, 2009 1:19:55 AM com.google.gdata.client.http.HttpGDataRequest > execute > FINER: server: GFE/2.0 > May 19, 2009 1:19:55 AM com.nealmi.app.camix.flexservice.ServiceFacade > savePhoto > SEVERE: com.google.gdata.util.InvalidEntryException: OK > Not an image. > > com.google.gdata.util.InvalidEntryException: OK > Not an image. > > at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse > (HttpGDataRequest.java:557) > at > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse > (GoogleGDataRequest.java:543) > at com.google.gdata.client.http.HttpGDataRequest.checkResponse > (HttpGDataRequest.java:535) > at com.google.gdata.client.http.HttpGDataRequest.execute > (HttpGDataRequest.java:514) > at com.google.gdata.client.http.GoogleGDataRequest.execute > (GoogleGDataRequest.java:515) > at com.google.gdata.client.media.MediaService.insert > (MediaService.java:390) > > > And then I copy base64 string to a file. write an unit test. It's > works fine. > > @Test > public void testAddPhoto() throws Exception, ServiceException { > PhotoEntry myPhoto = new PhotoEntry(); > myPhoto.setTitle(new PlainTextConstruct("Puppies FTW")); > myPhoto.setDescription(new PlainTextConstruct("Puppies are > the > greatest.")); > myPhoto.setClient("myClientName"); > > URL url = TestAlbumService.class.getResource(""); > File f = new File(url.getFile()+"/java_b64.txt"); > > > FileReader freader = new FileReader(f); > BufferedReader reader = new BufferedReader(freader); > > StringBuilder s = new StringBuilder(); > String line= ""; > while((line = reader.readLine()) != null){ > s.append(line); > } > reader.close(); > System.out.println(s.length()); > > byte[] b = Base64.decode(s.toString()); > > MediaSource byteMedia = new MediaByteArraySource(b, > "image/png"); > > myPhoto.setMediaSource(byteMedia); > > URL albumPostUrl = new URL(" > http://picasaweb.google.com/data/feed/ > api/user/zhongwangmi/albumid/5336987300048031361<http://picasaweb.google.com/data/feed/%0Aapi/user/zhongwangmi/albumid/5336987300048031361> > "); > > PhotoEntry photoEntry = getService().insert(albumPostUrl, entry); > } > > > Something wrong? Please give me some advice. Thanks! > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Picasa Web Albums 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-Picasa-Data-API?hl=en -~----------~----~----~----~------~----~------~--~---
