หน้าเว็บ

วันจันทร์ที่ 1 สิงหาคม พ.ศ. 2554

แก้ปัญหา upload file ผ่าน ajax ไม่ได้

ajax ไม่ได้ถูกออกแบบมาสำหรับการ upload file 
เราจึงต้องใช้วิธีอื่นเข้ามาช่วย  เพื่อให้ดูเหมือนเป็นการทำงานของ ajax
วิธีนั้นก็คือ การใช้ iframe  ดังนี้
<html>
    <body>
        <form action="uploadfile.php"  
              method="post"  
              enctype="multipart/form-data"   
              target="ifrm"
         >
            <input type="file" name="upload"/><br />
            <input type="submit" value="submit"/>
        </form>
        <iframe name="ifrm" style="display:none">
        </iframe>
    </body>
</html>

เราให้ไฟล์นั้นถูก upload ผ่าน iframe แทน
ซึ่งในที่นี้ iframe ถูกซ่อนอยู่  
user จึงไม่เห็นการเปลี่ยนแปลงหรือการรีเฟรชใดๆเกิดขึ้นบน page นี้


หมายเหตุ : enctype  ต้องมีเสมอ  หากมีการ upload file เกิดขึ้น  
เนื่องจาก  เราต้องแปลงไฟล์ให้อยู่ในรูปของ binary file ก่อน  จึงจะสามารถส่งไปให้  upload.php ทำการ upload ขึ้นสู่ server ได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น