PDA

View Full Version : مشکلی در نمایش تصویر آپلود شده برای کاربر



barnamenevis2016
شنبه 02 خرداد 1394, 22:41 عصر
سلام....من یک آپلودر نوشتم که کاربر تصویری رو آپلود کرد....اون تصویر آپلود شده برای کاربر نمایش داده بشه...و این پروسه بدون نیاز به رفرش کردن مرور گر انجا می شه...یعنی با فناوری آژاکس این کار رو کردم....حالا یک مشکلی هست....مثلا کاربر یک تصویر آپلود می کنه و تصویر آپلودی با یک نام معین مثلا test.png که در هاست ذخیره شده برای کاربر نمایش داده می شه...حالا کاربر می خواد یک تصویر دیگر رو جایگذین test.png کنه...خوب یک تصویر رو آپلود می کنه....ولی چون تصویر آپلودی هم نام با تصویر قبلی که برای کاربر نمایش داده شده هست....دیگه تصویر جدید برای کاربر نمایش داده نمی شه...و کاربر باید صفحه رو رفرش کنه که تصویر جدید نمایش داده بشه...ولی اگر تصویر آپلودی جدید هم نام نباشه با تصویر پیشین...اونوقت به درستی تصویر جدید آپلودی بدون رفرش برای کاربر نمایش داده می شه....متوجه شدید عایا؟:متفکر: حالا من می خوام یک کاری کنم که تصویر جدید آپلودی هم نام باشه با تصویر پیشینی که کاربر آپلود کرده و براش نمایش داده شده..ولی در عین حال بدون رفرش برای کاربر نمایان باشه....به نظرتون بهترین کار چیه....

MohammadReza1994
شنبه 02 خرداد 1394, 23:47 عصر
کار کار کشینگ مرورگره! به خاطر هم نامی فک میکنه عکس قبلیس و دیگه دانلودش نمیکنه. البته این نظر منه.

MohammadReza1994
شنبه 02 خرداد 1394, 23:49 عصر
این مشکل برای من درصورتی که حتی از اجکس هم استفاده نمیکنم هم رخ میده.

Golsha
شنبه 02 خرداد 1394, 23:58 عصر
بله این مشکل طبیعیه، منم این مشکل رو داشتم، راه حلی که به نظرم اومد این بودکه بااستفاده از جاوااسکریپت این کار رو انجام بدم. یعنی عکسی که لود میشه رو نمایش میدم و وقتی آپلود شد دیگه نیاز به رفرش نداره.

در کل به نظر من تو جاوااسکریپت استفاده از FileReader میتونه مناسب باشه.

barnamenevis2016
یک شنبه 03 خرداد 1394, 01:22 صبح
مرسی از دوستان...دوستان یک کلید واژه ها و نکاتی گفتن و من هم از گوگل استفاده کردم و سرجی زدم و یک روش جالب و باحال پیدا کردم....
کافیه که به آدرس تصویر آپلودی که قراره نمایش داده بشه عبارتی مثل زیر رو اضافه کنید..در این صورت...آدرس تصویر جدید برای مرور گر جدید خواهد بود

"?q" + randomNumber
باید جای اون randomNamber یک عدد رندمی داد که با آدرسی که پیشین دادیم فرق بکنه...مثلا اگر با جاوا سر و کار داریم...می تونیم از time استفاده کنیم...مثل زیر

var time= new Date ( ) ;
randomNumber = time.getTime();

من که این روش رو تو دو تا مرور گر تست کردم...جواب داد...حالا نمی دونم نظر حرفه ای ها چیست:متفکر:

engmmrj
یک شنبه 03 خرداد 1394, 15:08 عصر
مرسی از دوستان...دوستان یک کلید واژه ها و نکاتی گفتن و من هم از گوگل استفاده کردم و سرجی زدم و یک روش جالب و باحال پیدا کردم....
کافیه که به آدرس تصویر آپلودی که قراره نمایش داده بشه عبارتی مثل زیر رو اضافه کنید..در این صورت...آدرس تصویر جدید برای مرور گر جدید خواهد بود

"?q" + randomNumber
باید جای اون randomNamber یک عدد رندمی داد که با آدرسی که پیشین دادیم فرق بکنه...مثلا اگر با جاوا سر و کار داریم...می تونیم از time استفاده کنیم...مثل زیر

var time= new Date ( ) ;
randomNumber = time.getTime();

من که این روش رو تو دو تا مرور گر تست کردم...جواب داد...حالا نمی دونم نظر حرفه ای ها چیست:متفکر:
شما وقتی یک query string آخر آدرس عکس اضافه میکنید دیگه مرورگر اون عکس را cache نمکنه ُ معمولا برای فایل هایی که مدام تغییر می کنند مثل کدهای کپچا از این روش استفاده می کنند.