protected void Page_Load(object sender, EventArgs e) { string dateListFilePath = Server.MapPath("~/App_Data/dates.txt"); if (!String.Empty.Equals(dateListFilePath)) { if (File.Exists(dateListFilePath)) { string[] fileLines = File.ReadAllLines(dateListFilePath); NasaApiGateway.NasaApodConsumer consumer = new NasaApiGateway.NasaApodConsumer(); Apod apod; foreach (string line in fileLines) { DateTime date; if (DateTime.TryParse(line, out date)) { } else { try { CultureInfo provider = CultureInfo.InvariantCulture; date = DateTime.ParseExact(line, "MM/dd/yy", provider); } catch { continue; } } consumer.RetrieveImageToken(date, out apod); TableRow row = new TableRow(); TableCell dateCell = new TableCell(); dateCell.Text = line; row.Cells.Add(dateCell); TableCell imageCell = new TableCell(); Image image = new Image(); image.ImageUrl = apod.url; imageCell.Controls.Add(image); row.Cells.Add(imageCell); Images.Rows.Add(row); } } } }
private static void DownloadImage(string api, DateTime date, string folder) { if ("APOD".Equals(api.ToUpper())) { NasaApiGateway.NasaApodConsumer consumer = new NasaApiGateway.NasaApodConsumer(); byte[] imageData; Apod apod; consumer.RetrieveImageContent(date, out apod, out imageData); Stream stream = new MemoryStream(imageData); Image image = Image.FromStream(stream); FileStream fileStream = new FileStream(Path.Combine(folder, String.Format("APOD-Image-{0}.jpg", apod.date)), FileMode.Create); Console.WriteLine(String.Format("\nDownloading Image using:\nAPI: {0}\nFor Date: {1}\nIn Folder: {2}", api, date.ToString("yyyy-MM-dd"), folder)); image.Save(fileStream, ImageFormat.Jpeg); } else { Console.WriteLine("\nERROR: API \"{0}\" is not supported.", api); } }