I'm not sure what's going on here. Are you trying to retrieve a stream object to the actual photo binary?
You first have to retrieve the photo entry and then parse out the media:content URL. Otherwise you'll be spitting out XML at the client instead of the photo itself. Cheers, -Jeff On Sun, Nov 30, 2008 at 4:44 PM, [EMAIL PROTECTED] <zhu.chen.uk@ gmail.com> wrote: > > Hello, > > Any one knows how to get back a single Photo in Stream? My attempt > below generates two exceptions within the stream object. > > --------Exceptions within Stream object got back from > picasaService-------------------- > Length = 'stream.Length' threw an exception of type > 'System.NotSupportedException' > Position = 'stream.Position' threw an exception of type > 'System.NotSupportedException' > > --------- Code used to retrieve a single photo in > stream-------------------------------- > // Build picasa album Query for photo > FeedQuery query = new FeedQuery(PicasaQuery.CreatePicasaUri > (Username, albumName, photoId)); > string photoURI = query.Uri.ToString(); > photoURI = Regex.Replace(photoURI, "feed", "entry"); > > // Get the photo > Stream stream = _picasaService.Query(new Uri(photoURI)); > > photoURI = "http://picasaweb.google.com/data/feed/api/user/zhu.chen.uk/ > album/CityOfZhuHai/photoid/5268680361842240290<http://picasaweb.google.com/data/feed/api/user/zhu.chen.uk/album/CityOfZhuHai/photoid/5268680361842240290> > " > Notice that it is //"/data/entry/" instead of "/data/feed/". The > username, albumName and photoId have correct values, and the album is > set to public. > > > I am using http Handler to render my photos, but by using the code > above i just couldn't get the Photo displayed in my http img control. > ( I have tried to bind the Photo to asp:Image by using > Image3.ImageUrl = entry.Media.Content.Attributes["url"].ToString(); > but some how the asp:Image just don't like it and it shows only a > "SubmitQuery"....I have no idea why....) > > Please advice... > > Many Thanks > > Chen > > --------- The Handler.ashx ----------------- > > Stream stream = null; > if (context.Request.QueryString["photoId"] != null && > context.Request.QueryString["photoId"] != "") > { > photoId = context.Request.QueryString["photoId"]; > albumName = context.Request.QueryString["albumName"]; > stream = PhotoManager.GetPhotoStream(albumName, photoId); > } else { > albumName = context.Request.QueryString["albumName"]; > //stream = PhotoManager.GetFirstPhoto(albumID, > size); > } > // Get the photo from the database, if nothing is returned, > get the > default "placeholder" photo > if (stream == null) stream = PhotoManager.GetDefaultPhotoStream > (); > // Write image stream to the response stream > const int buffersize = 1024 * 16; > byte[] buffer = new byte[buffersize]; > int count = stream.Read(buffer, 0, buffersize); > while (count > 0) { > context.Response.OutputStream.Write(buffer, 0, > count); > count = stream.Read(buffer, 0, buffersize); > } > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
