- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以使用 ajax 调用将 FileStreamResult 作为下载文件打开?
Controller 方法
public FileStreamResult DownloadPDF()
{
var stream = myHandler.getFileStream("myfile.pdf");
return File(stream, "application/pdf", "myfile.pdf"));
}
HTML代码
<a href="#" class="mydownload">Click Me</a>
<script type="text/javascript>
$("a.mydownload").click(function () {
$.ajax({
method: 'GET',
url: 'http://myserver/file/DownloadPDF',
success: function (data, status, jqXHR) {
var blob = new Blob([data], { type: "application/pdf" })
var url = window.URL.createObjectURL(blob);
var a = document.createElement("a");
document.body.appendChild(a);
a.href = url;
a.click();
}
});
});
</script>
在 IE 上运行我被拒绝访问,但在 Chrome 上运行正常。然而,我确实得到了一个“空白”/无效的 pdf。
最佳答案
使用 XMLHttpRequest()
与 responseType
设置为 "blob"
, 添加 download
属性为 <a>
元素
$("a.mydownload").click(function () {
var request = new XMLHttpRequest();
request.responseType = "blob";
request.open("GET", "http://myserver/file/DownloadPDF");
request.onload = function() {
var url = window.URL.createObjectURL(this.response);
var a = document.createElement("a");
document.body.appendChild(a);
a.href = url;
a.download = this.response.name || "download-" + $.now()
a.click();
}
request.send();
});
或者,您可以使用 jquery-ajax-blob-arraybuffer.js .另见 Add support for HTML5 XHR v2 with responseType set to 'arraybuffer' on $.ajax
关于javascript - 通过 ajax 打开 FileStreamResult(作为下载的文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37462263/
我正在尝试通过 IIS7 来回传输文件。 我的操作方法如下: public ActionResult GiveItBack() { var inFile = Request.Files[0];
我在我的 MVC Controller 上执行了以下操作: public async Task Contact() { IAmazonS3 s3Client
我有一个目录“下载”,其中有我们的客户可以下载的静态文件。我正在使用以下 ActionLink 调用文件: @Html.ActionLink("Download Example", "Download
我的图像由返回 FileStreamResult 的 Controller 操作提供。 我根据通过图像标签传递的 id 加载图像: 我的代码是: public FileResult Get(int
我正在使用第三方库,其中一种方法返回 FileStreamResult。 public FileStreamResult GenerateFile(OutFormat format, dynamic
我正在尝试使用 iTextSharp 打开 PDF 文件,将数据集添加到文件以预填充数据,然后将其保存到流中以便我可以将其显示给用户。我不想将它保存在本地文件中。我不断收到错误消息“无法访问已关闭的流
我的问题类似于这个问题: Does File() In asp.net mvc close the stream? 我在 C# MVC 4 中有以下内容。 FileStream fs = new Fi
我对 jquery 和 asp.net mvc 很陌生。我的问题是我正在调用返回 FileStreamResult 的 Controller 中的方法。这工作正常,但是当我用 jQuery post
我用这段代码改变了图像的大小。但此方法返回 FileStreamResult。我想将 FileStreamResult 转换为 IFromFile。我该怎么做? 注意:我正在使用 CoreCompat
在 MVC 中,有没有办法在我的查询成功时返回一个 FileStreamResult,但如果不成功,就在 ViewBag 中返回一个有错误的 View 。像这样.... public File
我有一个从字节数组中获取的 FileContentResult,我想将其转换为 FileStreamResult。这可能吗?如果是这样,如何? 最佳答案 首先,我对 MVC 了解不多,但听起来您不需要
我正在编辑一些代码,有一种方法返回 FileContentResult 类型。我从服务中获取流,所以对我来说,将返回类型更改为 FileStreamResult 会更方便。 我应该将流转换为数组以返回
我正在使用 MVC3 返回在代码中创建的临时文件。然后,我使用 FileStreamResult 将此文件流式传输回客户端。但是,由于这是我不再需要的临时文件,我想清理该文件。我不知道该怎么做,因为我
是否可以使用 ajax 调用将 FileStreamResult 作为下载文件打开? Controller 方法 public FileStreamResult DownloadPDF() {
这个问题在这里已经有了答案: FileResult with MemoryStream gives empty result .. what's the problem? (2 个答案) 关闭去年。
问题的第一部分: 我在数据库中有信息,我想从数据库中获取它并将其保存为 .txt文件给客户。 我已经用常规的 asp.net 完成了。但在 mvc 中还没有。我的信息不是图像。这些关于人民的信息 我看
我在我的 asp.net 核心 api Controller 中有 return new FileStreamResult(excel, "application/ms-excel")
我有一个简单的 Controller ,它返回图像: public class ImageController : Controller { [AcceptVerbs(HttpVerbs.Ge
我正在开发用于处理文件的 Web API。我正在尝试从 azure blob 存储下载文件并将其作为响应返回。对于开发 API,我使用 FastEndpoints。 在 Stack Overflow
我有一个 IEnumerable ,根据 yield 进行“流式传输”来自方法的语句。现在我想将此枚举转换为 Stream将其用作流结果。我有什么想法可以做到这一点吗? 我最后想做的是返回 Strea
我是一名优秀的程序员,十分优秀!