PDA

View Full Version : ارسال فایل با xmlhttpRequest



MostafaAhmadi
چهارشنبه 27 شهریور 1387, 15:54 عصر
سلام دوستان
چطوری میشه یک فایل عکس رو بصورت باینری بوسیله xmlHttpRequest به سمت سرور ارسال کرد.

Behrouz_Rad
چهارشنبه 27 شهریور 1387, 16:00 عصر
نمیشه.....

Lagon666
چهارشنبه 27 شهریور 1387, 16:20 عصر
اگر منظورت عنوان تاپیکت هست، میتونی از AJAX File Upload (http://www.google.com/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=x6v&q=AJAX+file+Upload&btnG=Search) استفاده کنی. (برا آپلود از یه IFrame با Display:None استفاده می کنه)

اما اگر منظورت فقط ارسال باینری با XMLHTTPRequest به سرور هست، میتونی با Base64 یا هر کدر دیگه ای کدش کنی.

bigcowboy
شنبه 30 شهریور 1387, 18:39 عصر
اگر منظورت فقط ارسال باینری با XMLHTTPRequest به سرور هست، میتونی با Base64 یا هر کدر دیگه ای کدش کنی.
ميشه يه مثال بزني
متشكرم.

raravaice
شنبه 30 شهریور 1387, 19:16 عصر
ميشه يه مثال بزني

توهم IE بود. ;)

نمیشه...

Lagon666
یک شنبه 31 شهریور 1387, 04:55 صبح
توهم IE بود. ;)

نمیشه...

منظور من با کمک زبان هایی مثل PHP بود. اشتباه از من بوده. اگر فکر می کنید هنوز نمیشه، کدشو براتون بنویسم.

raravaice
یک شنبه 31 شهریور 1387, 10:57 صبح
اما اگر منظورت فقط ارسال باینری با XMLHTTPRequest به سرور هست، میتونی با Base64 یا هر کدر دیگه ای کدش کنی.
منظور من با کمک زبان هایی مثل PHP بود. اشتباه از من بوده. اگر فکر می کنید هنوز نمیشه، کدشو براتون بنویسم.این دو مورد هیچ دخل و تصرفی نسبت به هم دیگه ندارن ، من PHP رو در سطح خیلی محدودی کار کردم ولی اینو میدونم که قدرت معجزه نداره.
حالا اینکه شما چطور تونستی فایل با کنترل Input File و با جاوا اسکریپت در سمت کلاینت باز کنی بعد Base64 کنی و با شئی XMLHTTPRequest در جاوا اسکریپت تیکه تیکه بفرستی سمت سرور و در تمام مرورگرها هم کار کنه جای بحث و گفتگوی بیشتری رو میطلبه، چون من سخت مشتاق یادگیری مباحثی هستم که همه میگن نمیشه ولی یکی میگه من این کار رو کردم.

موفق باشید

narsic
یک شنبه 31 شهریور 1387, 15:56 عصر
با سلام
منم یه مدت دنباله انجام این کار بودم اما نشد البته اگه جاوااسکریپت بتونه Base64 رو انجام بده این کار انجام پذیره .
موفق باشید

Lagon666
یک شنبه 31 شهریور 1387, 18:24 عصر
این دو مورد هیچ دخل و تصرفی نسبت به هم دیگه ندارن ، من PHP رو در سطح خیلی محدودی کار کردم ولی اینو میدونم که قدرت معجزه نداره.
حالا اینکه شما چطور تونستی فایل با کنترل Input File و با جاوا اسکریپت در سمت کلاینت باز کنی بعد Base64 کنی و با شئی XMLHTTPRequest در جاوا اسکریپت تیکه تیکه بفرستی سمت سرور و در تمام مرورگرها هم کار کنه جای بحث و گفتگوی بیشتری رو میطلبه، چون من سخت مشتاق یادگیری مباحثی هستم که همه میگن نمیشه ولی یکی میگه من این کار رو کردم.

موفق باشید

به نظر شما PHP نمی تونه یه فایل رو آپلود کنه، بعد محتویات اون فایل Binary رو با Base64 تبدیل به ASCII کنه (این کار کاملا مشهود هست. شل C99 برای دسترسی به تصاویرش از این روش استفاده میکنه)، بعد اون اطلاعات ASCII شده رو چاپ کنه تا AJAX اونا رو دریافت کنه؟

اگه کسی تو این گفته ها شک داره بگه تا براش بنویسم.

raravaice
یک شنبه 31 شهریور 1387, 19:43 عصر
Lagon666 (http://barnamenevis.org/forum/member.php?u=26070) عزیز


چطوری میشه یک فایل عکس رو بصورت باینری بوسیله xmlHttpRequest به سمت سرور ارسال کرد.

این یعنی این دوست ما میخواد فایلی رو که کلاینت میخواد آپلود کنه با xmlHttpRequest بفرسته برای سرور.
این شدنی نیست مگر اینکه شما بیای با جاوا اسکریپت فایل رو بخونی و دیتای باینری اونو به قول خودت Base64 کنی بفرستی برای برنامه سرور که حالا میتونه هر اسکریپتی از جمله PHP باشه.

این کار فقط در IE با یه ActiveX شدنیه که اونم حدس میزنم توی IE 7 به بعد جلوش گرفته شده باشه("چون من چند ماهی هست وب کار نمیکنم نمی دونم شده یا نه") ولی مرورگر های دیگه از ActiveX پشتیبانی نمیکنن خوشبختانه.

حالا سئوال اینکه : آیا PHP میتونه در سمت کلاینت نقشی داشته باشه؟!


به نظر شما PHP نمی تونه یه فایل رو آپلود کنه، بعد محتویات اون فایل Binary رو با Base64 تبدیل به ASCII کنه (این کار کاملا مشهود هست. شل C99 برای دسترسی به تصاویرش از این روش استفاده میکنه)، بعد اون اطلاعات ASCII شده رو چاپ کنه تا AJAX اونا رو دریافت کنه؟

این کار انجام بشه که چی بشه؟ فایل اول آپلود بشه بعد PHP دیتای باینری رو به Base64 تبدیل کنه بعد دوباره تحویلش بده به Ajax؟ چه چیزی رو داری با این کار تحویل کار برت میدی پسر؟

داداش دست بردار چی رو میخوای ثابت کنی؟ ;)

با احترام

naser67
یک شنبه 31 شهریور 1387, 20:49 عصر
با اجاکس نمیشه با Iframe ی کهDisplay : none باشه این کار انجام میشه

Lagon666
دوشنبه 01 مهر 1387, 08:27 صبح
سلام
معضرت، اگر چیزی رو اشتباه خوندم و جواب دادم از هواس پرتی بوده و اگر مطلبی رو نادرست جواب دادم از کمبود اطلاعاتم بوده. اما این پست نشانه ی تایید همه ی پست های این تاپیک نیست.