问题标签 [filecontentresult]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
150 浏览

visual-studio - VS UnitTesting a FileContentResult - 我可以在测试时生成文件吗

我想对返回 PDF 文件的 FileContentResult 的方法进行单元测试。我正在做一些测试来检查内容类型和文件名,但如果我也能以某种方式生成 PDF 作为测试的一部分,那会很棒吗?我目前有一个方法如下:

我正在测试以下内容:

我可以在此文本中添加任何内容,以在给定位置创建 pdf 文件(用户下载?)。

0 投票
1 回答
958 浏览

download - 如何从 Web api 下载以 JSON FileContentResult 发送的文件

我正在从我的桌面应用程序的 Web API 获取 FileContentResult。

需要知道如何下载文件?

我尝试使用 Json.Net 进行反序列化,但它会抛出错误“未知对象类型!系统.字节'

0 投票
1 回答
180 浏览

c# - 从 AJAX 帖子调用时,FileContentResult 不生成文件

如果这有点含糊,我深表歉意,但是问题本身并没有泄露太多。我一直在编写一个使用 MigraDoc 生成 PDF 的应用程序。用于生成和下载PDF的控制器方法如下:

在开发过程中,这工作正常,当上面的代码被点击时,通过浏览器下载 PDF 很好。在开发过程中,我直接从带有硬编码参数的 JQuery 对话框调用此控制器方法。

但是,我进一步开发了应用程序,现在通过局部视图中的 Ajax Post 调用此操作方法。

传递了完全相同的参数值,并且控制器操作按预期运行,但是现在没有生成/下载文件。

我只能想象这与 Ajax 帖子有关,因为这是我所看到的运行正常与否之间的唯一区别。

这是我得到的回应-据​​我所知,看起来还不错...?我错过了什么吗? 在此处输入图像描述

0 投票
1 回答
392 浏览

c# - 哪种样式是导出csv文件的更好和效率的方式

我有两种使用 .net MVC 导出 CSV 文件的解决方案,它们使用名为 CsvHelper 的 NuGet 包。

这两种解决方案的工作结果相同,但我很好奇哪个更好地使用 CPU、内存、磁盘 io?

CsvHelper 有一个助手

使用响应方式的第一个解决方案

使用 FileContentResult 的第二个解决方案并从 helper 获取 byte[]

只是想办法得到如何思考这种问题以及如何证明两个解决方案的问题

使用异步将是一个好主意,但我怎么知道它的好处。

更新:我写异步模式

0 投票
0 回答
605 浏览

c# - 如何使用以编程方式返回 FileContentResult 的 API 调用

我正在尝试使用我的团队创建的 API,该 API 返回移动设备的 FileContentResult(PDF 文件)。

我已经编写了一些代码来检索该结果的字节数组,如下所示。

在 API 中返回 PDF 文件的行

我的代码

IService 只是 HttpClient,在后台添加了一些基本配置。我希望 _httpClient.Get 行返回一个字节数组。

0 投票
1 回答
2517 浏览

c# - 来自blob的Angular 7 pdf显示文件

我正在从我的 c# .NET API 返回一个 FileContentResult,在我的 Angular 7 应用程序中,我将它作为带有 HttpClient 的 blob 接收,然后使用以下内容打开一个新选项卡并尝试显示它。

执行此操作后,它会打开一个新选项卡,但我看到一个巨大的 json 对象的文本,它以 FileContents 属性开头,并且该值是一个巨大的字符串,我想它是 pdf 文档的字节。它看起来像这样:

如何让它显示实际的 pdf 文档而不是我的 FileContentResult 的这个大 JSON 对象?我最终需要显示多种文件类型,但我只是从 pdf 开始。

0 投票
1 回答
328 浏览

c# - ASP.NET MVC FileContentResult 内联 PDF 文件名未显示在浏览器标题中

.NET Framework 4.7.2 MVC 项目

我有一个动态加载 PDF 以内联返回​​到浏览器的控制器操作。一切正常,除了文件名未显示在浏览器标题栏或选项卡中。相反,浏览器显示“id”参数的值,大概是因为它跟在最后一个斜杠后面。

我需要浏览器显示 PDF 文件名,以便用户知道他们正在查看的 PDF。我们的用户倾向于在选项卡中打开多个 PDF 并经常在它们之间切换。这是代码的简化版本:

我也尝试过 FileStream,但没有成功,还尝试过 Edge、IE 和 Chrome,但它们都做同样的事情。在 Chrome 中,当我保存 PDF 时,它会以正确的文件名保存,但不会在浏览器中显示。

0 投票
2 回答
719 浏览

angular - 从 API 读取文件及其属性并在 Angular 客户端中下载

需要根据类型下载客户端api返回的动态文件。这就是我所拥有的

我的api 控制器看起来像这样

.ts文件看起来像这样

上面的实现文件正在下载,但是当我尝试打开文件时,如下所示

在此处输入图像描述

我的响应对象是

在此处输入图像描述

更新:

我在我的 .ts 文件中试过这个

var fileName = resume.resumeName; var fileType = resume.resumeType; //var byteArray = new Uint8Array(resume.resume);

文件下载失败 - 没有文件错误

0 投票
1 回答
34 浏览

c# - .net core web api 文件随机加载只响应的一部分

我正在从 S3 存储桶加载图像byte[],并将其作为我的 asp.net core 3.1 Web API 控制器方法的响应发送。

这是我的代码:

它在一定程度上起作用。响应被传递给客户端:

在此处输入图像描述

但是图像本身永远不会完全加载:

有时它只加载一点点:

在此处输入图像描述

有时更多:

在此处输入图像描述

但从来没有完整的形象。看起来它因任何原因而中断,只是将进入初始缓冲区的任何内容发送出去。

0 投票
0 回答
26 浏览

caching - FileContentResult 有时会缓存

我在 dotnet 核心应用程序中有一个返回图像的简单操作。

当我将它托管在我自己的机器上时,它一直按设计工作。几个月前,我将服务转移到了第三方主机提供商,它仍然有效。但是过了一段时间(几周后我所有的图像都一样),它们在几天内保持不变,然后神奇地服务自己修复了。如果我重新启动服务,它会正常工作,直到它没有。我证实这不是客户端问题。我在不同的机器上得到相同的图像,使用邮递员等。

在 chrome 调试窗口中,我看到该服务为每个请求的 blob 分配了一个唯一的名称,所以我认为它不应该被缓存。

在此处输入图像描述

我想这是一个服务器缓存问题,但不确定为什么它只在几周后才出现以及如何防止它。