سلام دوستان
قصد دارم تصاویر مربوط به یک شهر خاص را در داخل Image Gallery توسط Web api بازگردانم .هر دو حالت باز گرداندن خود تصویر و باز گرداندن آرایه ای از بایت را چگونه باید بنویسم
تابعی که خود من تا به حال در داخل Web api نوشته ام به صورت زیر است
public HttpResponseMessage GetGallery2(int id) { FileStream fileStream; Image image; MemoryStream memoryStream; var gallery = db.ImageGallery.Where(c => c.CityId == id); var stream = new MemoryStream(); // fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(stream.GetBuffer()) }; foreach (ImageGallery item in gallery) { string filePath = System.Web.Hosting.HostingEnvironment.MapPath("/Images/Cities/Image/" + item.ImageName); fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("") { FileName = System.Web.Hosting.HostingEnvironment.MapPath(@"/Images/Cities/Image/" + item.ImageName), DispositionType =filePath, }; image = Image.FromStream(fileStream); memoryStream = new MemoryStream(); image.Save(memoryStream, ImageFormat.Png); result.Content = new ByteArrayContent(memoryStream.ToArray()); result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpg"); } return result; }
اما این تابع جواب نمی دهد در ضمن با یک تصویر مشکلی ندارم و آن را راحت دریافت می کنم مشکل من با مجموعه ای از تصاویر است .یعنی شهر ی که شناسه آن به تابع داده می شود دارای چندین تصویر است و می خواهم تمام آنها با فراخوانی سرویس و این تابع باز گردانده شود .
پس مشکل من : باز گرداندن گالری تصاویر مربوط به یک شی خاص در web api است
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)