ورود

View Full Version : لود نشدن عکس جدید



hosseinaryai
پنج شنبه 20 فروردین 1394, 09:03 صبح
سلام دوستان
خب مشکل اینه:
من توی برنامه ام از سمت سرور توی ایمیج باکس یه عکسی رو میگیرم و نشون میدم و همزمان توی یه قسمتی از گوشی ذخیره هم می کنم .. تا اینجاش مشکلی ندارم بابت نشون دادن عکس از سرور ..
اما مشکل از جایی شروع میشه که من عکس سرور رو عوض می کنم ..
کد به این صورت عمل می کنه که هر بار که پیج توی گوشی لود میشه ، یه کد میره اون عکسی که توی گوشی هستو پاک می کنه ، بعد از همون آدرسی که داره عکسو دانلود می کند و توی ایمیج باکس نشون میده .. (این به خاطر اینه که اگه عکس توی سرور عوض شد ، عکس جدید نمایش داده بشه .. ) اما موضوع اینه که با اینکه عکس توی سرور عوض شده (جایگزین عکس قبلی شده) ولی برنامه وقتی دانلودش می کنه بازم همون عکس قبلیست .. در صورتی که من توی سرور چک کردم عکس جدید جایگزین شده ..
کد اندرویدی فک نمی کنم مشکلی داشته باشه ، آخه یه آدرس اینترنتی داره ، هر بار میره از اون آدرس عکسو میگیره حالا هر عکسی می خواد باشه ..
خب پس مشکل از کجا می تونه باشه ؟!!

tux-world
پنج شنبه 20 فروردین 1394, 10:53 صبح
مشکل شما اینه که هر بار که درخواست عکس رو میفرستید کش شدش ارجاع داده میشه میتونید با تغییر کوچیک در آدرس این مشکل رو حل کنید مثلا انتهای آدرس چند تا علامت سوال بزنید

hosseinaryai
پنج شنبه 20 فروردین 1394, 12:27 عصر
مشکل شما اینه که هر بار که درخواست عکس رو میفرستید کش شدش ارجاع داده میشه میتونید با تغییر کوچیک در آدرس این مشکل رو حل کنید مثلا انتهای آدرس چند تا علامت سوال بزنید
اومممم خب می دونم اگه آدرسو عوض کنم درست میشه .. اما نمیشه هر بار آدرسو عوض کرد .. آخه این عکس کاربراست که هر دفعه خودشون عکسو عوض می کنن .. عکس جدید جایگزین عکس قبلی مشه .. و کابرای دیگه به آدرس عکس این کاربر وصل میشن و عکس واسشون نشون داده میشه .. فکر نمی کنم منطقی باشی هر بار که عکس عوض میشه آدرسشم عوض شه ..

atpf67
پنج شنبه 20 فروردین 1394, 15:25 عصر
اومممم خب می دونم اگه آدرسو عوض کنم درست میشه .. اما نمیشه هر بار آدرسو عوض کرد .. آخه این عکس کاربراست که هر دفعه خودشون عکسو عوض می کنن .. عکس جدید جایگزین عکس قبلی مشه .. و کابرای دیگه به آدرس عکس این کاربر وصل میشن و عکس واسشون نشون داده میشه .. فکر نمی کنم منطقی باشی هر بار که عکس عوض میشه آدرسشم عوض شه ..

سلام بزرگوار

اسم عکس رو چی؟ اونم نمیشه عوض شه؟ مثلاً بر حسب تاریخی که کاربر عکسش رو عوض میکنه اسم عکس رو عوض کنید مثلاً:

1394.01.10.jpg

بشه:

1394.01.12.jpg

یا برای دقیق تر شدن میتونید تایم هم اضافه کنید.

این چیزی بود که به ذهن من رسید و فکر کردم بدردتون بخوره، اگر غیرحرفه ایه دیگه خودتون ببخشید.

tux-world
پنج شنبه 20 فروردین 1394, 18:25 عصر
من گفتم آدرس رو به نوعی تغییر بدید که از کش بر نداره و انتهای آدرس چند تا علامت سوال بزارید درست میشه

www.sample.com/myimage.jpg????

hosseinaryai
پنج شنبه 20 فروردین 1394, 18:26 عصر
سلام بزرگوار

اسم عکس رو چی؟ اونم نمیشه عوض شه؟ مثلاً بر حسب تاریخی که کاربر عکسش رو عوض میکنه اسم عکس رو عوض کنید مثلاً:

1394.01.10.jpg

بشه:

1394.01.12.jpg

یا برای دقیق تر شدن میتونید تایم هم اضافه کنید.

این چیزی بود که به ذهن من رسید و فکر کردم بدردتون بخوره، اگر غیرحرفه ایه دیگه خودتون ببخشید.

ممنونم که وقت گذاشتی دوست من ..
اما خب به دو دلیل نمی تونم این کار کنم :
1. یه آدرس عکس مشخص و ثابته که توی برنامه قرار میگیره ، و برنامه هر بار به همون آدرسی که توی حافظه داره مراجعه می کنه و عکسو دریافت می کنه ..
2. و دوم اینکه تغییر دادن عکس کاربری به عهده خود کاربر برنامه ست ، اگر کاربر هر بار که عکسشو عوض می کنه یه عکس جدید کنار عکس قبلی آپلود بشه ، حجم سرور و اشغال می کنه ..

hosseinaryai
پنج شنبه 20 فروردین 1394, 18:45 عصر
من گفتم آدرس رو به نوعی تغییر بدید که از کش بر نداره و انتهای آدرس چند تا علامت سوال بزارید درست میشه

www.sample.com/myimage.jpg????

ممنونم ..اما راه حلی که گفتی برای یکبار درست عمل می کنه .. اما وقتی عکس برای بار دوم عوض میشه بازم میشه مثل همون حالت .. :متفکر:

tux-world
پنج شنبه 20 فروردین 1394, 19:06 عصر
خوب اشتباه دومتون این هستش که اون تعداد رو باید رندم کنی منظورم تعداد علامت سوالها تو هر بار درخواست هستش. یه راح حل دیگه هم بود الان یادم نمیاد فعلا اینکار رو بکن یادم افتاد خبر میدم

hosseinaryai
چهارشنبه 16 اردیبهشت 1394, 20:12 عصر
ضمن تشکر از دوستانی که جوابمو دادن اما به نظرم رندم مثلن علامت سوال راه حل چندان منطقی ای نیست ..

من قبلن با کد زیر عکسو میگرفتم :

InputStream in = new java.net.URL(urldisplay).openStream();
Bitmap mIcon11 = BitmapFactory.decodeStream(in);
bmImage.setImageBitmap(mIcon11
);


الانم با این کد میگیرم :


URL url = new URL(urldisplay);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap mIcon11 = BitmapFactory.decodeStream(input);
bmImage.setImageBitmap(mIcon11
);


اما جفتشون یکبار عکسو میگیرن و اگه عکس سمت سرور عوض شه اینا باز هم همون عکس قبلیو نشون میدن ..
اون بحث رندم علامت سوالو رو هم روشون اعمال کردم ..درست شد کمابیش .. اما به نظرم چندان راه حل درستی نیست .. مثلن رندم 1 تا 100 بذارم .. اگر دوبار مثلن 50 رو نشون بده بازم همون بحث پیش میاد .. راه حل درست تری نیست یعنی ؟!!