2012-02-29 187 views
2

我怎樣才能從客戶端發送圖像到服務器?發送圖像到服務器Ajax

我有一個簡單的形式,如:

 <form> 
    <input type="file" id="myfile" name="myfile" /> 
    <input type="button" value="Submit" onclick="SendImageToServer();" /> 
    <iframe id="uploadframe" name="uploadframe" src="upload.php" width="8" height="8" scrolling="no" frameborder="0"></iframe> 
</form> 

而且在我使用的方法是:

  function sendImage(){ 
     if (window.XMLHttpRequest) 
        { 
        xmlhttp=new XMLHttpRequest(); 

        } 

       else 
        { 
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
           //I want to get the response as simple <img scr="myimage"/> 

      } 

誰能幫我,我怎麼可以這樣使用Ajax-PHP(NO JQUERY)?

+2

爲什麼 '不jQuery的'? – deed02392 2012-02-29 11:38:30

+0

有人回答說,張貼到一個'iframe'可能是你最好的選擇。 但是,我發現使用Firefox的文件上傳API的[Ajax Uploader](https://github.com/igstan/ajax-file-upload)。 – Sathvik 2012-02-29 11:47:25

+0

@ deed02392 ..我剛剛學習ajax ..不想在開始時使用jquery ..你能幫我解決這個問題嗎? – 2012-02-29 11:53:02

回答

0

那麼,一方面,你不能用AJAX發送文件。但是,如果您提交給iframe,則表單需要定義enctype =「multipart/form-data」,否則它不會提交文件。

-1

你不應該使用AJAX術語,因爲你不會創建一個。要上傳文件,請在form上設置actiontarget,其他所有內容都應該是自動的,即頁內。

<form action="upload.php" target="uploadframe" enctype="multipart/form-data"> 
... everything else here 
<input type="submit" value="Go!"/> 
</form> 

希望這有助於...

+0

不要忘記提交文件所需的enctype =「multipart/form-data」。 – kingmaple 2012-02-29 11:51:04

+0

我不想重新加載我的頁面..只是把圖像放在內存中,用ajax ..處理它,並找回圖像...你的ans甚至沒有接近理解,你甚至知道的東西......無論如何..感謝垃圾回覆 – 2012-02-29 11:51:46

+0

哦,當然!謝謝,我已經編輯了答案:) – 2012-02-29 11:52:21