2014-11-20 59 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浏览器下载文件的工作情况都很好。

相关问题