从MVC操作返回数据和文件

时间:2019-07-10 20:27:13

标签: c# asp.net-mvc

我有一个MVC GET操作,该操作返回带有byte []属性的json类模型,我用它来返回消息和文件,但是如果文件太大,我会得到OutOfMemoryException,是否有返回不使用此类内存的文件和数据的其他方法?
我知道我可以创建另一个操作以仅返回最终文件,但是我可以在同一请求上执行此操作吗? 编辑: 我不想使用byte []或将文件加载到内存的任何方法

 public ActionResult GetFile()
 {
    // Here: currently logic to create the final file and the message

    // Here: I want to add the final file to the result
    // Here: I want to add my model data(json) to the result

    // Here: currently returning json with a byte[] property to return the file
    return Json(myModel, JsonRequestBehavior.AllowGet);
 }

1 个答案:

答案 0 :(得分:0)

根据您的限制,您可以做一些棘手的事情,如果您能够在主机上上传文件,则可以在JSON结果中返回URL pf上传文件,然后让用户下载。

此外,您会发现此链接对https://stackoverflow.com/a/51526234/7855321很有帮助。