ورود

View Full Version : سوال: ارسال و آپلود فایل بوسیله تکنیک Ajax



Ali0Boy
سه شنبه 17 بهمن 1391, 22:32 عصر
باسلام خدمت تمامی دوستان عزیز
من بوسیله کد زیر هر داده ای رو که بخواهم به صفحه به صورت ajax ارسال می کنم:


var mypostrequest=new ajaxRequest()
mypostrequest.onreadystatechange=function(){
if (mypostrequest.readyState==4){
if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
document.getElementById("result").innerHTML=mypostrequest.responseText
}
else{
alert("An error has occured making the request")
}
}
}
var namevalue=encodeURIComponent(document.getElementBy Id("name").value)
var agevalue=encodeURIComponent(document.getElementByI d("age").value)
var parameters="name="+namevalue+"&age="+agevalue
mypostrequest.open("POST", "basicform.php", true)
mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
mypostrequest.send(parameters)


اما مشکل من این نیست، مشکل من اینجاست که داخل صفحه ای کدی به صورت زیر دارم:


<from action="" method="post" enctype="multipart/form-data">
<input type = "file" name = "adrfile" />
<input type = "button" value="Upload" onclick="javascript: upload();" />
</form>


همان طور که دیدین قراره وقتی بر روی button کلیک شد، مقدار file که از نوع data ارسال شود.
نمی دونم نکته ی من رو گرفتین یا نه ولی یکبار توضیح میدهم.
من هیچ دکمه submit نگذاشته ام که این فرم مقدار فایل رو ارسال کند. و این فرم یک شی اضافی است حتی می توان به جای آن div نیز استفاده کرد. در اصل ارسال من به وسیله کد بالاتر انجام می شود اما مشکل من این است که در پارامتر های ارسالی برای صفحه موردن نظر، در ارتباط با گرفتن و ارسال مقدار شی input[type="file"] چه چیزی بنویسم که بتوانم داده های داخل شی file را ارسال کنم.

امیدوارم مشکل من را متوجه شده باشین.
شدیدا نیاز به این کد دارم لطفا مرا راهنمایی کنید.

Ali0Boy
سه شنبه 17 بهمن 1391, 22:35 عصر
البته تذکر بدهم که دوستان اینقدر نگن بگرد بگرد، گشتم چیزی پیدا نکردم. همه ی آپلود ها به روش یک دکمه submit بود که اون روش رو فکر کنم که هر ... بلد باشه ولی ارسال فایل به روش ajax رو می خواستم بدونم.
درضمن قرار نیست با ajax آپلود کنم، قرار است تمامی محتوای input[type="file"] رو به صفحه ای دیگر از طریق ajax ارسال کنم و در اون صفحه کد های آپلود رو از قبل نوشتم. فقط مشکل همین ارسال کد داده های file هست.

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

pouyan.hosseini
چهارشنبه 18 بهمن 1391, 01:15 صبح
https://github.com/valums/file-uploader
plugin bala kare shoma ro 100% anjan mide va implent kardanesh ham besiar rahate!

ravand
چهارشنبه 18 بهمن 1391, 06:54 صبح
pouyan.hosseini جون هر کی که دوست داری اینقدر فیلنگلیش ننویس :عصبانی++:

Ali0Boy
چهارشنبه 18 بهمن 1391, 14:51 عصر
https://github.com/valums/file-uploader
plugin bala kare shoma ro 100% anjan mide va implent kardanesh ham besiar rahate!

آقا ممنون ولی من که گفتم نمی خوام از کدها و plugin و ... آماده استفاده کنم. من خودم نیز چندین تا از این ها دارم و قبلا در پروژه های قبلی ام استفاده می کردم.
من میخواستم خودم کدی بنویسم که محتوای شی فایل رو به صفحه ای دیگر ارسال کند. من می خوام بدونم آیا چنین کاری رو می توان انجام داد یا نه.
ممنون می شوم دوستان اگر می توانند در این ضمینه من رو راهنمایی کنند، بفرمایند.

geeking
پنج شنبه 19 بهمن 1391, 21:14 عصر
کلا دیتاهای باینری
input[type="file"]از طریق اجکس (XmlHttpRequest object ) ارسال نمیشن ، یعنی کلا نمیشه ارسال کرد .

راه حلها :
1- معمولا ملت از iframe استفاده میکنن برای اون کاری که میخوان انجام بدن .
2- HTML5 (http://www.sitepoint.com/html5-ajax-file-upload/)
3- پلاگین های jquery
و ...
همین !

pouyan.hosseini
شنبه 21 بهمن 1391, 17:24 عصر
shoma zood ta code amade mibini nagoo na k .
valums/file-uploader
vabastegi be hich ketabkhune dige nadare codesh ro ye kam motalee kon hamoon kari k mikhai anjam mide.
ba file api html5 va baraye browser hayee k html5 ro support nemikonan az iframe va flash stefade mikone open source ham hast ye copy az github clon kon script rosh khana va ghabele fahme.

pouyan.hosseini
شنبه 21 بهمن 1391, 17:25 عصر
pouyan.hosseini جون هر کی که دوست داری اینقدر فیلنگلیش ننویس :عصبانی++:

farsi nemitoonam benevisam narahat nashi jan man :)))))))))))))))))))))))

geeking
دوشنبه 23 بهمن 1391, 20:28 عصر
shoma zood ta code amade mibini nagoo na k .
valums/file-uploader
vabastegi be hich ketabkhune dige nadare codesh ro ye kam motalee kon hamoon kari k mikhai anjam mide.
ba file api html5 va baraye browser hayee k html5 ro support nemikonan az iframe va flash stefade mikone open source ham hast ye copy az github clon kon script rosh khana va ghabele fahme.
چی !؟
valums/file-uploader (https://github.com/valums/file-uploader) چیه الان به نظرتون ؟

sara-984
پنج شنبه 23 خرداد 1392, 16:24 عصر
سلام...
منم نیاز دارم با ifram , uplod کنم میشه یکی برام یه پروژه کاملشو با asp.net بزاره...لطفاً....

jalil_gh
پنج شنبه 23 خرداد 1392, 23:30 عصر
http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/

sara-984
جمعه 24 خرداد 1392, 10:15 صبح
http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/
ممنون از توجهتون....
ولی این php بود :ناراحت:
میشه برام یه پروژه که واقعا کار میکنه attach کنید