ارتباط فلش و دیتابیس با Asp.net

fateme_s

New Member
سلام
خسته نباشید من متن مورد نظرم که اسم یک عکس از SQL کشیدم بیرون و در فلش می تونم تو یک text نشون بدم ولی متاسفانه نمی تونم همون اسم که مسیرشم برای اینکه مشکلی پیش نیاد تو همون مسیر فایل فلش گذاشتم ولی متاسفانه نمی تونم اون فایل رو در فلش لود کنم لطفا به من بگیم چرا من نمی تونم این کار رو انجام بدم
منتظر جوابتون هستم ممنونم
 

kiarash.M

Active Member
سلام ؛
به عرشه خوش آمدی .

ببینم ؛ مسیر عکس رو از root سرور میدی ؟؟
 

BehrouzPc

پــــادشــاه فــلــــش
دیقا بگو داری از چه روشی استفاده میکنی برای بارگزاری تا سریع تر مشکلت حل بشه
کدت رو بزار....
 

fateme_s

New Member
سلام من از ديتابيس اسم خود عكس رو مي فرستم و چون عكس در همون مسير فايل swf موجود هست از اين لحاظ فكر نمي كنم مشكلي باشه و من فقط اسم عكس رو كه از ديتابيس كشيدم بيرون به دستور loadMovie مي دم.
حالا من منظور شما رو از root سرور مي دي رو متوجه نشدم.
کد:
myData = new LoadVars()
myData.load("Default.aspx") //aspx line
myData.ref = this;
myData.onLoad = function(succes)
{
 loadMovie(this["Picture"],holder);
}
اين كد من در فايل فلش مي باشد كه اسم فيلدي كه از ديتابيس مي كشم بيرون Picture هست و نام movieClip كه روش اون عكس رو لود مي كنم هست holder اميدوارم بتونيد كمكم كنيد.
منتظر جوابتون هستم ممنونم.​
 

BehrouzPc

پــــادشــاه فــلــــش
شما در زیر خط کد
loadMovie(this["Picture"],holder);
با یکی از کد های زیر صحت دریافت اطلاعاتتون که نام فایل تصویر میباشد رو چک کنید

PHP:
trace(this["Picture"]);
getURL("javascript:alert("+this["Picture"]+");");

چک کنید ببینید اصلا آدذس درست دریافت میشه از aspx

اگه درست بود holder رو چک کنید
 

fateme_s

New Member
thx

من با يك text در فلش بررسي كردم و نام فايل از ديتابيس به درستي واكشي مي شود و به من نشون مي ده كه نام فايل به درستي واكشي مي شود.
کد:
comments.text=this["Picture"];
comments نام text هست كه تو اون به من نشون مي ده كه نام فايل به درستي واكشي شده.
اين كدي هم كه شما به من داديد گذاشتم جواب خاصي نگرفتم
ممنون از توجهتون
 

BehrouzPc

پــــادشــاه فــلــــش
کدهای که دادم برای همون تستی بود مه شما به روشی دسگه انجامش داده بودید
اگه اطلاعات درست دریفات بشه دو حالت وجود داره
1 - holder شما درست آدرس دهی نشده یعنی وجود نداره یا با نام دیگری وجود داره یادم نیست holder برای نامگزاری مجاز بود یا نه ولی شما برای آزمایش می بایست یک نام تصویر رو دستی در کد وارد نمایید مشابه کدی که از َaspx دریافت میکنید و بعد تست کنید

2 - حالت بعد اینه که صفحه شما ، یعنی صفحه ای که در اون فلش به نمایش در میاد در مسیر دیگری باشه اصولا مهم نیست که فایل کنار فلش باشه مهم محلی است که فلش با object و یا embed در صفحه قرار میگریرد و از این محل شما میبایست آدرس دهی نمایید نمی دونم صفحه مورد نظر شما هم کنار فایل Swf تون یعنی کنار همون تصاوبر هست یا نه!
 

fateme_s

New Member
صفحه مورد نظر من هم کنار فایل Swf یعنی کنار همون تصاوبر هست
و من روش اول كه گفتيد رو تست كردم از اين لحاظ مشكلي نداره
يعني holder من درست آدرس دهی شده
شما نمونه كدي در اين زمينه نداريد يا نمي دونم يه جوري من فقط به جواب برسم چون اين قضيه من رو خيلي كلافه كرده شما فكر كنيد من اين كار رو با كد asp كه نام عكس رو از access مي گيره و در فلش اون رو لود مي كنه رو انجام دادم و همچنين xml ش رو و خلاصه همه جوره جواب گرفتم جز اصل كاري كه مي خوام از واسط كد .net ميان Sql و فلش استفاده كنم.
اگر هم نمي تونيد باز هم كنيد باز از شما خيلي ممنونم كه تلاشتون رو براي كمك به من انجام داديد.
موفق باشيد
 

BehrouzPc

پــــادشــاه فــلــــش
اگه به صورت کلی بگیم چنید روش برای ارتبط با فلش وجود داره که چند تاش معول تره که در زیر میارم
1- روشی که شما استفده کردید و فقط کافیه توی کد خروجی شبیه به زیر بگیریم
&picture=mypic.jpg

2 - روشی بعدی استفاده از XML میباشد که خیلی قابل انعطاف و خوبه برای کارهای با اطلاعات زیاد پیشنهاد میشه

3 - با استفاده از json که خیلی استفاده نمیشه

4 - به روش config که توسط یه کلاس محیطی ایجاد میشود که میتونید اطلاعاتی رو که به صورتی در هر خط یا مقدار واده قرار داده شده رو دیافت کنید که البته کدش رو به راحتی میتوان نوشت اگه نخواهیم از کلاس ها مربوطه استفاده کنیم

5 - و روشهای بسیار دیگر...

روش اول رو با مثال در اینجا میتونید ببینید


برای روشی که خودتون استفاده کردید میتونید به این مال آماده فلش مراجعه کنید- اینحا کلیک کنید

PHP:
  loadVariables("http://localhost/test.aspx", this, "GET");

 loadMovie(this["Picture"],holder);


و یک روش ساده دیگه با ایجاد فرمان onload با چک کردن داده ها

به فرض مثال نام فایل اطلاعات شما data.aspx میباشد

خروجی رو باید به صورت زیر بگیری ، نتیجه باید مثل زیر باشه
value1=data1&value2=data2&value3=data3&done=done

و حال با کد زیر در فلش میتونی اطلاعاتی که در خروجی بالا گرفتید (در فایل data.aspx) رو بگیری

کد PHP:

function checkParamsLoaded()
{
if (
target_m.done == undefined)
{
trace ("not yet.");
}
else
{
trace ("finished loading. killing interval.");
trace ("-------------");
for (
i in target_m)
{
trace (i + ": " + target_m[i]);
links[i] = target_m[i];
}
// end of for...in
trace ("-------------");
data1 = links.value1;
data2 = links.value2;
data3 = links.value3;
clearInterval(param_interval);
}
// end else if
} // End of the function
this.createEmptyMovieClip("target_m", 100);
loadVariables("data.aspx", target_m);
var
links = Array();
var
param_interval = setInterval(checkParamsLoaded, 100);

حالا در زیر کد بالا میتوانید با تغییر بخش زیر
data1 = links.value1;
data2 = links.value2;
data3 = links.value3;
در دریافت اطلاعات تغییرایت بدید

و با تغییر کد در خط زیر میتوید به فایل asp خودتان آدرس بدهید
loadVariables("data.asp", target_m);


&done=done برای چک کردن بار گزاری شدن کامل اطلاعات می باشد ، که میبایست در آخر اطلاعات در خروجی فایل aspx قرار بگیرد




ّبرای روش دوم پیش نهاد میکنم به این مقاله مراجه کنید

  • Displaying XML Data in Flash
    page.gif
    1, 2, 3, 4, 5
.....
پایان
 

fateme_s

New Member
ببينيد من با گرفتن داده مشكلي ندارم مشكلي كه من دارم اين هست كه نمي تونم اون اسم فايل كه از ديتابيس آوردم تو فلش و تاكيد مي كنم كه اين فايل در همون مسير فايل swf هست من فقط نمي تونم اون اسم رو بگم لود كن روي يك مووي كليپ من بدون ديتابيس هم اين لود مووي رو انجام دادم و لود موي به عنوان مثال زير درست
کد:
loadMovie("pic.jpg",clip);
عكس رو لود مي كنه من حالا مي گم چطوره كه اين اسم وقتي از ديتابيس مي آد تو فلش چرا اونو وقتي من به جاي اسم عكس مي زارم لود نمي كنه اين چيزايي كه شما فرموديد من اين كارارو انجام دادم من مي گم چرا اين اسم كه توفلش از ديتابيس مي كشم بيرون به عنوان عكس لود نمي كنه.:shock:
بازم ممنونم از توجهتون
 

BehrouzPc

پــــادشــاه فــلــــش
خوب پس مشکل در دریافت اطلاعات نیست !

پس تا جایی که من میدونم میشه یکی از مشکلات زیر وجود داشته باشه (بنا به حالتی که با واردکردن نام در کل در فلش به درستی فایل بارگزاری شود)
1 - شاید نام فایلی که دریافت میشه بعد و قبل از اون یک و یا شاید چند کاراکتر فاصله وجود دارد که این رو باید توی کد چک کنید
2 - نام فایلی که از دیتا بیس دریافت میشود یا اصلا وجود ندارد و یا شاید با پسوندی دیگر وجود دارد
3 - شاید فایل مربوطه مورد پشتیبانی فلش نمیباشد ، فلش فایلهای jpg - standard را تا ورژن هفت فلش پلیر
و فایلهای png , gif البته ثابت رو در ورژن هشت به بعد پشتیبانی میکند و دیگر نوع فایلها و حتی تصاویر jpg که استاندارد نباشند را برای بارگزاری در فلش مجار نمی داند که برای این کار میبایست تصویر مورد نظرتون رو چک نمایید
 

fateme_s

New Member
ببینید این جواب هایی که این دوستمان بهروز دادند واقعا به کار من نیامد چون تمام آنها را تست کرده ام و هیچ جای خالی بعد یا قبل از اسم عکس موجود نیست و همچنین عکس هم به طور دستی که روی موی کلیپم لود می کنم درست لود میشود و با عکس jpg نیز مشکلی ندارد و همچنین من مسیر عکس هم به عکسم نمی دهم فقط اسم عکس رو می دهم که در همان مسیر swf است حالا با مشخص شدن این خصوصیات کسی می تواند به من در این زمینه کمک کند چون من به این که بتوانم یک عکس رو اسمش رو از sql با واسطه .net در فلش لود کنم خیلی احتیاج دارم و فکر می کنم روی این قضیه حدودا 2 ماه هست که معطل مانده ام اگر کسی در این زمینه کدی دارد و یا می تواند من را راهنمایی کند ممنون می شوم.
از آقا بهروز هم خیلی تشکر می کنم که به من راهنمایی های زیادی کردند و وقتشان را برای مشکل من صرف کردند با آرزوی موفقیت
منتظر جواب فلش کار های محترم هستم.
 

arashtavoosi

Active Member
من فکر می کنم مشکل از یک & باشه که در انتهای مقدار متغیری که در فایل aspx قرار داده نشده باشه.
من یه نمونه براتون گذاشتم که رو کامپیوتر من کار می کنه. برای ساده تر شدن کار از sql server یا دیتا بیس دیگه استفاده نکردم و فقط مقدار رو از صفحه aspx به فلش پاس کردم.
برای اجرا حتماً خودتون می دونید که باید فایل رو از داخل فلش اجرا کنید تا گیر نده که دسترسی به شبکه از local امکان پذیر نیست. همچنین شماره پورت رو هم عوض کنید و اونچیزی بزارد که در زمان اجرا تو آدرس بارinternet explorer هست.
 

پیوست ها

  • load.zip
    11.1 کیلوبایت · بازدیدها: 27

fateme_s

New Member
سلام آقاي آرش طاوسي متشكرم كه اين نكته اي كه شما اشاره كرديد به من كمك كرد تا مشكلم را حل كنم بازم ممنونم
به اميد موفقيت
 

جدیدترین ارسال ها

بالا