PDA

View Full Version : سوال: عکس های سایت نشان داده نمی شوند؟!



mohandesan
جمعه 03 مهر 1388, 15:11 عصر
من در سایتی که نوشتم در کنار هر خبر عکس اون راهم نمایش میدم ولی نمی دونم چرا روی عکس علامت ضربدر که حاکی از عدم نمایش عکس هست را نشون میده و عکس را نشون نمی ده برای نمایش اخبار از grid view استفاده کردم و فیلد جدول را که آدرس اون عکس را ذخیره می کنه به اون image بایند کردم نمی دونم چرا نشون نمیده ؟؟ لطفا اگه کسی می دونه کمک کنه....

explod_javad
جمعه 03 مهر 1388, 19:08 عصر
دوست من روی عکس راست کلیک کن و Propertise اونو نگان کن
ببین تصویر از کجا گرفته میشه .بعد اونو توی صفحه خودت اصلاح کن

saina2006
جمعه 03 مهر 1388, 20:58 عصر
در بعضی از موارد این مساله به خاطر سطح دسترسی به فولدر تصاویر اتفاق می افتد

mohandesan
دوشنبه 06 مهر 1388, 12:15 عصر
بله دوست عزیز احتمالا باید از سطح دسترسی باشه چون وقتی properties عکس را می بینم نوشته no available ولی چه طور می تونم سطح دسترسی را طوری بدم که عکس ها نشون داده بشه؟؟
اگه اشتباه نکنم باید توی هاست یه تنظیماتی انجام بدم میشه راهنمایی کنید؟؟؟

saina2006
دوشنبه 06 مهر 1388, 12:41 عصر
اگر از سطح دسترسی باشه آدرس عکس را درست نشون میده ولی عکس نمایش داده نمیشه منظور من این بود.
اون هم برای وقتی هست که تمام عکس ها را در پوشه خاصی گذاشته اید برای مثال Image و دسترسی برای اون پوشه را در قسمت web.config برای roles یا user خاصی بسته اید
شما برای عکس ها چگونه آدرس دهی میکنید؟؟

mohandesan
دوشنبه 06 مهر 1388, 15:38 عصر
من ادرس هر عکس را از دیتابیس می گیرم . نه توی وب کانفیگ هیج دسترسی به فایلها و فولدر ها ندادم

saina2006
دوشنبه 06 مهر 1388, 17:09 عصر
منظورم اینه که آدرس عکس را در دیتابیس به چه صورت ذخیره میکنید
آدرس کامل عکس و یا به صورت
~/Image.jpg

mohandesan
دوشنبه 06 مهر 1388, 18:05 عصر
آدرس کامل عکس را ذخیره می کنم

saina2006
دوشنبه 06 مهر 1388, 18:56 عصر
اگر شما به صورت

~/Image/ImageName.jpg
آدرس بدهید احتمالا درست میشه

mohandesan
سه شنبه 07 مهر 1388, 16:46 عصر
این طوری هم دادم درست نشد
بزارید توضیح کامل بدم شاید منظورم را کامل متوچه بشید
من قبل از اینکه مسیر عکس را ذخیره کنم اول اونو با fileupload در پوشه gallery آپلود می کنم برای آپلود که نمی تونم مسیر را به صورت ~/gallery بدم چون قبول نمی کنه از طرفی در دستور بعدی که می خوام آدرس عکس را ذخیره کنم باید چه طوری آدرس رابدم ؟؟

_jmimi
سه شنبه 07 مهر 1388, 19:48 عصر
سلام
فرض کنیم که application شما در آدرس زیر است :

c:\web_app\test
یه فولدر آپلود هم دارین :

c:\web_app\test\upload
که عکساتونو توش آپلود می کنین.
وقتی که میخواین عکس رو توی این فولدر save کنین آدرس اینه :

c:\web_app\test\upload\img1.jpg
ولی وقتی که می خواین تو دیتابیس ذخیره کنین آدرس اون اینجوری باید باشه :

/upload/img1.jpg
شما وقتی که این آدرس رو داشته باشید هم از طریق کد میتونین به خود عکس جهت delete و غیره دسترسی داشته باشین و هم در form هاتون بتونین اون رو نمایش بدین.

نحوه دسترسی به صورت کد به خود عکس جهت مدیریت آن :

string filePath = Server.MapPath("/upload/img1.jpg");

و در form :

<img src="/upload/img1.jpg"/>

دقت کن که اون آدرس که توی img و کد هستش همونیه که تو دیتابیس ذخیره کردی.

mtaboy
چهارشنبه 08 مهر 1388, 10:15 صبح
دوست عزیز این مثال رو نگاه کن امیدوارم کمک کنه
البته اگر تو نمایش عکسهات از کنترل html استفاده می کنی باید موقع آدرس دادن این کارو بکنی
for example:

src=myProduct.ImageUrl.Replace("","~/"); e

bahar_engineer
چهارشنبه 08 مهر 1388, 11:01 صبح
اول برین ببینید توی پوشه upload وقتی عکس اضافه می کنین وارد می شه یا نه. یعنی عکس ها به پوشه اضافه می شن؟

بعد توی دیتابیس تو چه فیلدی آدرس عکس رو ذخیره کردین؟

برین اونو چک کنین که درست باشه یعنی


/upload/imagename.jpg


البته به شرطی که پوشه upload تو ریشه سایت باشه

بعد هم اگه هر دوی این موارد درست بود :

توی گرید ویو اگه بصورت تمپلیت عکس رو قرار دادین که باید توی bindesh در گزینه imageURL فیلد عکستون توی دیتابیس رو قرار بدین و یا بنویسید :فرضا فیلد path هست که آدرس عکسها رو ذخیره کردین


Eval("path")


اگه هم که از تمپلیت استفاده نکردین طبق فیلد بانکتون که تنها آدرس عکس رو ذخیره کردین فقط یه فیلد تکست با محتوای آدرس عکستون نمایش داده می شه

mohandesan
چهارشنبه 08 مهر 1388, 15:52 عصر
حالا اگه از repeater استفاده کرده باشم چی؟ به repeater چه طور باید اطلاعات بایند کنم؟؟

_jmimi
چهارشنبه 08 مهر 1388, 17:44 عصر
حالا اگه از repeater استفاده کرده باشم چی؟ به repeater چه طور باید اطلاعات بایند کنم؟؟

سلام
bind کردن بین کنترل های مختلف فرقی نمیکنه.
شمت توی همشون از زیر استفاده کن :


<%# DataBinder.Eval("ImgPath") %>

فرض به اینه که ImgPath یک property از شیئی هست که شما به عنوان datasource به repeater خود bind کردین.