使用iFrame显示下载对话框
Showing download dialog box using iFrame
我正在使用EmberJs开发一个JavaScript应用程序。单击按钮后,我使用Jquery&这个调用返回一个文件路径。现在,在jquery的成功函数下,我想将此路径传递给一个iframe,它最终会显示下载对话框。
$.ajax({
type: 'GET',
url: exportURL,
success: function(result) {
//Result contains a value which is abc.xlsx**
//Now how can i show the download dialog?
}
});
其想法是通过传递文件路径来显示下载对话框。我有什么选择?我不想把页面发回去。
根据发言人的建议,我添加了如下iframe:
<iframe id="secretIFrame" src="" style="display:none; visibility:hidden;"></iframe>
在Js一侧:
$.ajax({
type: 'GET',
url: exportURL,
success: function(result) {
$('#secretIFrame').attr('src','http://localhost:1234/file/fileName');
}
});
http://localhost:1234/file/fileName
是asp.net web api restful service
,file是以文件名为参数的控制器,它看起来像这样:
public class FileController : ApiController
{
public HttpResponseMessage Get(string id)
{
var path = Path.Combine("temp", id);
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(new FileStream(path, FileMode.Open, FileAccess.ReadWrite));
response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = id;
return response;
}
}
相关文章:
- 如何为使用 JSP 生成的下载文件显示“保存文件”对话框
- jquery对话框可见时自动下载链接问题
- 浏览器不生成文件下载对话框
- 使用 JavaScript 打开“另存为”/“下载”对话框以下载动态创建的文件
- 内容处置:附件未触发下载对话框
- 通过websocket接收文件并启动下载对话框
- 下载zip文件并触发“;保存文件“;对话框的角度方法
- 在“下载文件”对话框中添加一个选项
- 使用iFrame显示下载对话框
- 如何下载图像(显示保存对话框在浏览器中),这是在html2canvas从控制器在MVC创建的字节的形式
- 当提要对话框成功共享时,使用Javascript打开下载链接
- csv文件下载后,使用jQuery/Javascript打开另存为对话框
- 如何从Javascript强制显示下载/打开对话框以获取PDF
- 提示浏览器下载对话框
- PHP -引导模式对话框,选择日期,下载CSV -不能让浏览器保存文件
- 在下载对话框中设置路径目录
- 如何在Javascript中打开下载对话框
- 检测下载文件对话框
- ajax→下载前另存为对话框
- 打开“另存为”;对话框下载镜像