2014-11-20 128 views
0

我最近一直在使用dojo v1.7上傳/下載文件。我已經在websphere應用服務器內部署了一個servlet類來處理請求/響應流量。但是,我遇到了一個問題,通過iframe.send + servlet下載文件。那麼,使用FF/Chrome,它可以正常工作,但IE v10並不會。這似乎是從未調用過的servlet類的一個實例。我確實在doGet方法中實現了記錄,以記錄傳輸的內容。當我通過IE 10啓動http請求時,沒有任何記錄。我很感激你對此的輸入。dojo.io.iframe.send不適用於IE v10?

iframe.send({ 
    method: "GET", 
    content: { 
     name: "base64_string_value" 
    }, 
    url: "/myServlet" 
}).then(function(data) {}, function(err) {}); 

[更新] 由form標籤纏繞輸入標籤和發送方法中的指定形式的屬性後,請求由servlet然而處理,從瀏覽器側,我期望的對話框,要求用戶打開或保存,但沒有發生。相反,我得到了「此頁面無法顯示」。在瀏覽器中。

<form id="myForm"> 
    <input type="submit" value="Download"></input> 
</form> 

iframe.send({ .... form: "myForm" }); 

回答

0

我不得不道歉在問題中不誠實。我試圖提交的數據不僅僅是一個文件名(我更正了我的問題的內容),而是base64字符串值相當大。我認爲無論數據大小如何,在讀取請求文件的內容(base64)後,servlet都會返回一個文件對象。在將提交表單從Get切換到POST之後,並在Servlet類中執行適當的工程師(實現了doPost和丟棄的doGet)之後,從IE瀏覽器和Chrome瀏覽器下載文件的工作情況都很好。

相關問題