我有一个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);
}
答案 0 :(得分:0)
根据您的限制,您可以做一些棘手的事情,如果您能够在主机上上传文件,则可以在JSON结果中返回URL pf上传文件,然后让用户下载。
此外,您会发现此链接对https://stackoverflow.com/a/51526234/7855321很有帮助。