ارسال فایل به کمک جی کوئری و بدون استفاده از پلاگین ها

phpweb

Active Member
لطفا بگید که چطور می تونم به کمک جی کوئری فایل رو برای سرور بفرستم؟

ظاهرا باید به کمک iframe این کار رو کرد ولی نمی دونم دقیقا چطور باید این کار رو انجام بدم. لطفا توضیح بدید.
 

eAmin

Well-Known Member
کل کاری که باید انجام بدید اینه که یک iframe ایجاد کنید و صفت name اون رو هم تعیین کنید و صفت target فرم خودتون رو برابر با نام صفت name فریم خودتون قرار بدید و اطلاعاتی که از سمت سرور خوندید و در iframe قرار دادید رو بخونید.
این صفحه رو هم نگاه کنید، اگر به مشکل برخوردید مطرح کنید.
http://stackoverflow.com/questions/7909161/jquery-iframe-file-upload
 

phpweb

Active Member
مرسی

مشکل حل شد

تصاویری که آپلود می شن بهتره موقع آپلود ریسایز بشن تا دیگه لازم نشه موقع نمایش هربار ابعاد اون رو تغییر بدیم.
یه اسکریپت برای ریسایز کردن و کم کردن حجم توصیر سراغ ندارید؟ البته کیفیت ریسایز تصویر خوب باشه و فرمتهای مختلف رو ساپورت کنه.
 
آخرین ویرایش:

eAmin

Well-Known Member
با JavaScript در سمت کاربر که نمیشه، یعنی طوری باشه که بعد از تغییرات بر روی سرور هم این تغییرات اعمال بشه.
اگر منظورتون با php هست، تو انجمن خودش مطرح کنید تا اونجا به جواب خودتون برسید.
 

phpweb

Active Member
الان یه مشکل هست اونم اینکه نمی شه دوتا فرم رو داخل همدیگه تعریف کرد.

الان یه فرم دارم که از چند تب تشکیل می شه و نمی تونم یه فرم دیگه داخل فرم اصلی تعریف کنم تا به این شکل فایل آپلود کنم، این دو فرم رو نمی تونم از همدیگه جدا کنم.

برای این مورد راهی سراغ ندارید؟
 

eAmin

Well-Known Member
تا کدها رو نبینم دقیقا نمیتونم توضیح بدم که باید چیکار کنید. ولی تنها راه حلی که الان به ذهنم میرسه اینه که فرم ها رو جدا از هم قرار بدید و تو رویداد onsubmit فرم اصلی فرم آپلود خودتون رو سابمیت کنید.
 

phpweb

Active Member
چطور می شه کاری کرد که تابع زیر جواب سرور رو بصورت جی سان بدست بیاره؟

این تابع توی لینکی که معرفی کردید قرار داره.
کد:
$(document).ready(function () {
            $("#formsubmit").click(function () {

                var iframe = $('<iframe name="postframe" id="postframe" class="hidden" src="about:none" />');

                $('div#iframe').append(iframe);

                $('#theuploadform').attr("action", "/ajax/user.asmx/Upload")
                $('#theuploadform').attr("method", "post")
                $('#theuploadform').attr("userfile", $('#userfile').val())
                $('#theuploadform').attr("enctype", "multipart/form-data")
                $('#theuploadform').attr("encoding", "multipart/form-data")
                $('#theuploadform').attr("target", "postframe")
                $('#theuploadform').submit();
                //need to get contents of the iframe
                $("#postframe").load(
            function () {
                iframeContents = $("iframe")[0].contentDocument.body.innerHTML;
                $("div#textarea").html(iframeContents);
            }
        );
 

eAmin

Well-Known Member
از سمت سرور باید قالب دیتای خودتون رو تعیین کنید، یعنی اگر میخواید جوابی که دریافت میکنید در قالب JSON باشه، باید اینکار رو در سمت سرور انجام بدید بعدا میتونید این اطلاعات رو با JavaScript خیلی راحت parse کنید.
 

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

بالا