PDA

View Full Version : سوال: ذخیره عکس در سرور



~golnaz~
جمعه 28 شهریور 1393, 21:14 عصر
سلام بر همگی


من قصد دارم یک عکس از url مشخص بگیرم و در دیتابیس با فرمت varbinry ذخیره کنم (با استفاده از linq - برنامه برای یک شرکتیه که سیستماش تحت شبکست)
مشکل من اینه که برای اینکار چندین کد امتحان کردم و همه روی سیستم خودم که local هست جواب میده ولی وقتی برنامه رو publish می کنم و رو سرور شرکت میذارم کار نمیکنه ...برای مثال اول اومدم از کد زیر برای دانلود عکس استفاده کردم

byte[] imageData = (new WebClient()).DownloadData(url);
تو سیستمم خودم imageData رو در دیتابیس ذخیره میکنم و به راحتیم میتونم از دیتابیس retrieve کنم ولی بعد از publish برنامه و اجرای برنامه تو کلاینت سیستم و ذخیره عکس در دیتابیس چیزی برای نمایش عکس در کلاینت نشون نمیده البته متوجه شدم در سرور سایز imageData با زمانی که در local برنامه رو ران میکنم فرق داره و خیلی کمتره سایزش
کد زیر هم همین مشکل داشت

public byte[] getImageFromUrl(string url) {
System.Net.HttpWebRequest request = null;
System.Net.HttpWebResponse response = null;
byte[] b = null;


request = (System.Net.HttpWebRequest)System.Net.WebRequest.C reate(url);
response = (System.Net.HttpWebResponse)request.GetResponse();


if (request.HaveResponse)
{
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
Stream receiveStream = response.GetResponseStream();
using (BinaryReader br = new BinaryReader(receiveStream))
{
b = br.ReadBytes(500000);
br.Close();
}
}
}


return b;
}





ایا اینا به تنظیمات iis ربط داره ؟ راه دیگم این بود که به جای اینکه url به byte[] تبدیل کنم اول عکس تو یه فولدر share تو سرور که قابل خواندن و نوشتن بود ذخیره کردم بعد عکس از طریق آدرس عکس تو سرور تو دیتابیس ذخبره کردم این راه هم باز تو سیستم خودم جواب میده ولی رو سرور عکس خالی میسازه تو فولدر ...
اگه کسی بتونه راهنماییم کنه خیلی ممنون میشم

~golnaz~
شنبه 29 شهریور 1393, 09:01 صبح
دوستان کسی نیست در این مورد راهنمایی کنه
من کارم خیلی گیره :(

Mousavmousab
شنبه 29 شهریور 1393, 10:46 صبح
من اگر به جای شما بودم Try catch می زاشتم و می دیدم کجا ایراد داره ، ولی پیشنهاد می کنم عکس را در بانک نگه ندارید و در یک Directory ذخیره کنید.

~golnaz~
شنبه 29 شهریور 1393, 11:25 صبح
از پاسختون ممنون
موضوع اینه که اصن error یا exception ای وجود نداره و به ظاهر کد داره کار میکنه ولی چیزی دانلود نمیشه
من حتی کاری که شما گفتید رو هم انجام دادم یعنی گفتم عکس رو در یک دایرکتوری ذخیره کنه خیلی جالبه عکس خالی میسازه میگم بازهم که این مشکل فقط زمانی که برنامه رو شبکه میذارم ایجاد میشه

aminmousavi
شنبه 29 شهریور 1393, 11:51 صبح
سلام دوست عزیز .
یعنی میخواین عکس هایی از اینترنت رو از طریق آدرسشون ذخیره کنین دیگه ؟ اگه از اینترنت قراره عکس رو بگیرین مشکل اینترنت نداره سرورتون ؟

~golnaz~
شنبه 29 شهریور 1393, 14:43 عصر
سلام دوست عزیز .
یعنی میخواین عکس هایی از اینترنت رو از طریق آدرسشون ذخیره کنین دیگه ؟ اگه از اینترنت قراره عکس رو بگیرین مشکل اینترنت نداره سرورتون ؟

سلام بله میخوام عکسی از اینترنت دانلود کنم با استفاده از url .... نه انترنت مشکلی نداره تست کردم