• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل: چطوری به کمک جی‌کوئری progress bar بسازیم
#1
سلام بچه ها،

من دو روزه درگیر این شدم. خیلی سرچ کردم. حتی اینجا سوال مطرح کردم http://stackoverflow.com/questions/12483...-using-php ولی به جواب درستی نرسیدم. نمونه کد زیاد دیدم ولی خیلی نامفهوم بودن اونایی هم که متوجه شدم راهشون رو رفتم ولی به یه مشکل دیگه خوردم. سوال منو اونجا بخونید لطفا اگر نیاز به توضیح بیشتری داشتید بگید بگم. مرسی Heart
غایب
  پاسخ
تشکر شده توسط :
#2
سلام
علیرضا جان این رو ببین به دردت می خوره :
http://www.9lessons.info/2012/04/file-up...query.html
http://www.saaraan.com/2012/05/ajax-imag...ry-and-php
موفق باشی
  پاسخ
تشکر شده توسط :
#3
(۱۳۹۱ شهریور ۳۰, ۱۲:۳۸ ق.ظ)ali786 نوشته: سلام
علیرضا جان این رو ببین به دردت می خوره :
http://www.9lessons.info/2012/04/file-up...query.html
http://www.saaraan.com/2012/05/ajax-imag...ry-and-php
موفق باشی

برادر من، من دو روزه دارم جستجو میکنم. تازه وارد که نیستم. هر دو لینکیم که دادی قبلا خوندم.

لطفا از دادن هرگونه لینک خودداری کنید. چون 99٪ دیدمش
غایب
  پاسخ
تشکر شده توسط :
#4
1- ماه رمضان تموم شده اون امضات رو ردیف کن.
2- مطلع هستی که پروگرس بار با جاوا اسکرست و توسط فورم ها فقط در html 5 امکان پذیر هست و در بروزهای جدید
3- اینجا لینک ندادم اما اونجا لینک دادم :دی
  پاسخ
تشکر شده توسط :
#5
(۱۳۹۱ شهریور ۳۰, ۱۱:۲۹ ب.ظ)zoghal نوشته: 1- ماه رمضان تموم شده اون امضات رو ردیف کن.
2- مطلع هستی که پروگرس بار با جاوا اسکرست و توسط فورم ها فقط در html 5 امکان پذیر هست و در بروزهای جدید
3- اینجا لینک ندادم اما اونجا لینک دادم :دی

آره داداش صالح. همه اینارو میدونم. امضامم ردیف کردم Smile اونجا هم جوابتو دادم. تونستی برو بخون. ممنونت میشم Heart
غایب
  پاسخ
تشکر شده توسط : zoghal
#6
اون newFormData از کجا میاد اونوقت؟
چون تاجاییکه میدونم جاوااسکریپت نمیتونه فایل بخونه.
برای آپلود فایل به اون شکل ایجکس که شما نوشتی اول باید محتویات فایل مورد نظر کاربر رو بدست بیاری، که این کار هم در جاوااسکریپت مقدور نیست (بنظرم واضحه که به دلایل امنیتی).
چیزی هم که با جاوااسکریپت از ورودی input فایل فرم HTML خودت بخونی صرفا اسم فایل انتخاب شده توسط کاربر است، نه محتویاتش.
بنظر شما با ارسال اسم فایل به سرور، اون فایل آپلود میشه؟

تازه حتی مسیر کامل فایل انتخاب شده توسط کاربر رو هم نمیتونی بخونی (بازم به دلایل امنیتی) تاجاییکه میدونم. بنظرم فقط بخش آخر اسمش رو در جاوااسکریپت در مرورگر میشه گرفت.

بعد تازه همینطوریش PHP تاجاییکه میدونم تاحالا امکان پروگرس بار برای آپلود فایل رو نداشته. چون این نیاز به ساپورت سمت سرور داره. یعنی موقعی که محتویات فایل هنوز در سمت سرور درحال دریافت هست سرور باید اطلاعاتی رو به مرورگر ارسال کنه. اما حالت عادی و در PHP تاجاییکه میدونم اینطور نیست و ابتدا محتویات فایل در سمت سرور کامل دریافت میشه و دست آخر که آپلود تمام شده تازه Response اسکریپت سمت سرور شما به مرورگر ارسال میشه.
  پاسخ
تشکر شده توسط : ali786
#7
vejmad جان درست شد. آقا صالح یه چیزی رو عنوان کردن که اصلا فکرشم نمیکردم. مشکلی در کدنویسی نبود. مشکل این بود که من فکر میکردم از رو لوکال به سرور از طریق ftp آپلود کنیم باید درست کار کنه ولی اینطور نیست.
غایب
  پاسخ
تشکر شده توسط : zoghal
#8
منظورت رو متوجه نشدم.
بالاخره آپلود فایل با ایجکس شدنیه یا نه؟
روشش رو بذار ما هم ببینیم.
من قبلا دنبال این قضیه یک مقدار تحقیق کرده بودم که نهایتش به یک ترفند خیلی ساده اما کارا با استفاده از یک فریم پنهان رسیدم.

حالا پروگرس بار که یک بحث جداست و در قدم بعد میتونیم بررسیش کنیم.
فعلا کد کامل آپلود فایل با ایجکس رو بذار.
  پاسخ
تشکر شده توسط :
#9
آپلود فایل با فریم پنهان از مد افتاده. الآن File API داریم گرچه در مرحله draft و readonly هست ولی میشه باهاش کار کرد. یه اینترفیس در نگارش دوم XMLHttpRquest داریم بنام FormData() که پارامتری که دریافت میکنه باید المنت فرم باشه. و اگه خواستیم با فایل های سلکت شده هم کار کنیم باید از آبجکت File استفاده کنیم.

کافیه برای ارسال فایل‌ها به سرور با ای‌جکس بصورت مستقیم یا غیر مستقیم (جی‌کوئری) متغیری که شامل اینترفیس FormData() هست رو بفرستیم. ولی نکات ریز و درشتی هست که من بعد از سه هفته تلاش فراوان اون ها رو متوجه شدم.


کد:
//hame mohtaviate form ro dakhele yek variable mirizim
var formData = new FormData( document.getElementById("form") );

//niazi be ActiveXObject nadarim chon IE6+ azash estefade nemikone
var myXHR = new XMLHttpRequest();

//harchi event darim ke marbot be XMLHttpRequest mishe bayad inja gharar bedim

myXHR.open("POST", "path/to/file", true); //age parameter sevom ro false konim browser ta daryafte javab freez mishe, be estelah hang mikone

//inja header haro tanzim mikonim
//aghlab cache header ro no-cache tanzim mikonan

myXHR.send(formData);
غایب
  پاسخ
تشکر شده توسط : Bojbaj vejmad
#10
آهان که اینطور.
نمیدونی این امکانات تا چه حد استاندارد هستن و ساپورت مرورگرهای فعلی در چه وضعیه؟
اون لینک هایی که دادی مال موزیلاست. این امکانات اختصاصی موزیلاست یا استاندارد؟
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان