dojo.io.iframe.send没有使用IE v10?

时间:2014-11-20 20:58:36

标签: file internet-explorer iframe download

我最近一直在使用dojo v1.7来上传/下载文件。我在websphere app服务器中部署了一个servlet类来处理请求/响应流量。但是,我遇到了通过iframe.send + servlet下载文件的问题。好吧,使用FF / Chrome,它可以工作,但是对于IE v10,它并没有。它似乎从未调用过servlet类的实例。我确实在doGet方法中实现了日志记录以记录传输的内容。当我通过IE 10发起http请求时,没有记录任何内容。我很感激您对此的意见。

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

[更新] 在通过表单标记包装输入标记并在send方法中指定表单属性之后,请求由servlet处理,但是,从浏览器端,我期望一个对话框要求用户打开或保存,但它没有发生。相反,我得到了#34;此页面无法显示。"在浏览器中。

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

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

1 个答案:

答案 0 :(得分:0)

我必须为在问题中不诚实而道歉。我试图提交的数据不仅仅是一个文件名(我更正了我的问题的内容),但是base64字符串值相当大。我想无论数据大小如何,servlet都会在读取所请求文件的内容(base64)后返回一个文件对象。切换从Get到POST提交表单,并在servlet类中执行适当的工程师(实现了doPost并丢弃了doGet)后,从浏览器下载文件在IE和Chrome中都运行良好。