【问题标题】:file download popup box using javascript使用javascript的文件下载弹出框
【发布时间】:2013-03-13 12:10:29
【问题描述】:

我正在开发 ASP.NET Web 表单应用程序。 我正在我的 Web 服务代码中的服务器端处理文件。 这个网络方法将返回我文件内存流。 我想使用 javascript 方法在客户端使用这个内存流。 在 js 方法中处理后,我将打开弹出窗口以下载该内存流。

function ExportExel(){

    $.ajax({
        type: "POST",
        url: baseUrl + '/' + "WebServices/ExtraInfoWebService.asmx/Urlhttphandler",
        data: {},
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {

            //********some code require here.... *************
        }
    });
}

在 msg.d 中,我正在获取内存流 我这里需要代码

//********some code require here.... *************

显示文件下载弹出窗口。 任何帮助/指针都会对我有所帮助。

【问题讨论】:

  • 为什么不直接重定向到下载页面?如果它具有强制下载的特殊标题,您的页面实际上不会更改,而是开始下载。
  • 你能告诉我如何从javascript函数重定向到我的下载页面吗?小代码 sn-p 将有助于我理解。
  • 只需执行:location.href = "downloadable/file/url.php";

标签: javascript asp.net ajax download


【解决方案1】:

为此,您需要将new request 提供给服务器.. Ajax 调用没有提供那么多功能(获取流时显示弹出窗口) 如果您以流的形式发送新的请求和响应。浏览器显示save and open popup。你不需要手动操作

【讨论】:

  • 如何向服务器发送新请求?而不是 Ajax 调用任何其他你建议的。非常感谢您的帮助。
  • 使用 $('#'+form_id).attr('action',new_url_action); $("#form_id").submit();在 $.ajax 的 javascript insead 和提交之前,如果有表单字段,您可以进行表单验证
  • $('#'+form_id).attr('action',new_url_action); $("#form_id").submit();这可行,但它会在同一浏览器的页面中打开窗口。任何其他要传递的参数或避免这种情况的方法
  • target="_blank" 属性用于表单。它将在新选项卡中打开窗口。希望有用
猜你喜欢
  • 1970-01-01
  • 2013-07-30
  • 1970-01-01
  • 2018-08-23
  • 2014-09-11
  • 2010-09-25
  • 1970-01-01
  • 2014-09-11
相关资源
最近更新 更多