将iframe指向Web服务以下载文件

时间:2012-04-03 18:19:56

标签: jquery asp.net ajax download

是否可以将Web服务指定为iFrame的来源?

我正在尝试使用文件下载,但由于我的文件在SQL Server中存储为二进制文件,因此我无法将用户指向特定文件。我必须获取文件,处理它并提示用户保存/打开对话框。我想知道是否有办法将iFrame指向一个负责处理文件下载请求的webservice调用?

我已尝试过以下代码,但它无效。

知道我在这里缺少什么吗?

<iframe id="downloadFrame" style="display:none"></iframe>

<input  type="button" value="Download File" title="Download File" onclick = "JavaScript: return downloadFlie();" />

    function downloadFlie()
    {
        var iframe = document.getElementById("downloadFrame");
        iframe.src = "Services/svcAttachments.asmx/DownloadFile?FileId=5";
        return false
    }

2 个答案:

答案 0 :(得分:1)

为什么不只使用锚点和目标?

<a href="Services/svcAttachments.asmx/DownloadFile?FileId=5" target="_blank">Download</a>

答案 1 :(得分:0)

您可以使用通用处理程序(* .ashx)来实现此目的。

我已经为您搜索了此示例:http://geekswithblogs.net/hmloo/archive/2012/03/07/how-to-download-files-using-a-generic-handler.aspx