使用Ajax和iframe下载文件

水电

我已经读过有关使用Ajax和iframe下载文件的信息。任何人都可以给我逐步说明如何执行此操作,或者可以知道任何教程,因为我们已经在该项目上使用了ajax,因此这似乎是最好的方法。

编辑:

好的,这是我的视图代码:

<div class="buttons">
<input type="button" value="Download File" class="button" id="downloadfile">

<script type="text/javascript">
    $(function () {
    $('#downloadfile').click(function (e) {
        $('#downloadIframe').attr('src', '@Url.Action("DownloadFile","Invoice")' + '/Report/Invoices');
    });
});
</script>

这是我的控制器:

public FileResult DownloadFile(int id)
    {

        byte[] fileBytes = System.IO.File.ReadAllBytes(Server.MapPath("~/Reports/Invoices/" + Table.First(x => x.ID == id).ID + ".pdf"));
        string fileName = Table.First(x => x.ID == id).ID.ToString();
        return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
    }

    public ActionResult Download(int id)
    {
        return AjaxResponse("Download", null);
    }

我有一个Jquery上下文菜单,用于单击a的一行JQGrid,然后打开视图Download,然后在视图中单击按钮,它应该script在视图中执行并返回DownloadFile FileResult到控制器中,但是当我单击按钮时没有任何反应。

报告所在的文件夹: ~/Reports/Invoices

7h4ro3

我不了解iframe,但是我通过ajax下载文件的方式仅仅是编写响应流。

    [HttpGet]
    [OutputCache(VaryByCustom="id")]
    public void DownloadFile(int id)
    {
        var path = GetFilePath(id);
        Response.ContentType = "application/octet-stream";
        Response.AppendHeader("Content-Disposition", "attachment; filename=xxx");
        Response.WriteFile(path);
        Response.End();
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用<iframe>和AJAX下载文件时出现404

来自分类Dev

使用Guzzle和Ajax从Dropbox下载文件

来自分类Dev

用ajax和php下载文件

来自分类Dev

不使用Ajax下载文件

来自分类Dev

使用Blob从Ajax结果下载文件

来自分类Dev

使用Flask上传和下载文件

来自分类Dev

使用certutil和Python下载文件

来自分类Dev

使用Jersey和RestyGWT下载文件

来自分类Dev

使用雾上传和下载文件

来自分类Dev

CasperJS并通过iFrame和JavaScript下载文件

来自分类Dev

使用JAX-RS以及ajax和javascript的blob对象下载文件不起作用

来自分类Dev

使用Ajax和php下载文件-readfile不起作用

来自分类Dev

使用struts2和Ajax下载文件时如何放置进度栏

来自分类Dev

在 Ajax 和 php 中自动下载文件

来自分类Dev

通过Ajax下载文件

来自分类Dev

从Spring Service使用AJAX GET下载文件

来自分类Dev

如何使用laravel响应以ajax成功下载文件

来自分类Dev

使用Ajax调用MVC从数据库下载文件

来自分类Dev

使用AJAX调用在javascript中下载文件

来自分类Dev

使用node.js,流和promise下载文件

来自分类Dev

使用urllib2和/或wget自动下载文件

来自分类Dev

使用暂停和恢复按钮下载文件?

来自分类Dev

使用AFHTTPSessionManager和身份验证下载文件

来自分类Dev

如何使用Python,Selenium和PhantomJS下载文件

来自分类Dev

使用Retrofit 2.0和DownloaManager下载文件

来自分类Dev

使用Vue.js和Python Flask下载文件

来自分类Dev

如何使用laravel和vuejs下载文件

来自分类Dev

使用perl和Firefox :: Marionette下载文件

来自分类Dev

使用Flask和JS从服务器下载文件