当前位置: 首页 > 编程语言 > C#

如何通过angularJS和webaAPI2下载内存流对象Share

时间:2023-04-11 12:21:00 C#

如何通过angularJS和webaAPI2下载内存流对象我有一个项目,我使用NPOI从我的Angular应用程序生成Excel文档。我可以通过我的角度服务调用我的webapi控制器,如下所示:});};在控制器内部,我进行以下调用[HttpPost]publicHttpResponseMessageExportReport([FromBody]DTOs.Reportreport){MemoryStreamms=newMemoryStream();//我们必须传递给NOPI汇编文件类型和文件名//因为我们现在只处理excel,所以我们将设置它,但这可以稍后配置。longid=report.ReportId;stringmimeType="application/vnd.ms-excel";字符串文件名=“未知”;manager.ExportDataToExcel(id,(name,mime)=>{mimeType=mime;filename=name;returnms;});毫秒.Position=0;varresponse=newHttpResponseMessage();response.Content=newByteArrayContent(ms.ToArray());response.Content.Headers.ContentType=newMediaTypeHeaderValue("应用程序ion/vnd.ms-excel");return(response);}catch(Exception){//errorreturnnewHttpResponseMessage(System.Net.HttpStatusCode.BadRequest);}}这是从MVC应用程序的迁移,在我之前能够使用System.IO.File返回一个对象以及关闭流我从来没有用Angular做过这个,但从我读过的内容来看,我可以将memorystream对象放入byteArray并传递它回到客户端。如果这是正确的方法,一旦它返回到角度服务和控制器,我如何解开该对象。这里的目标是允许用户将以前保存的报告下载为excel文件。我是对的吗跟踪?下载内存流对象的更有效方法?如何将此上下文传递给浏览器?提前致谢我遇到了类似的问题。我解决了更改端点以支持GET并从新选项卡调用此方法的问题。所以,从角度应用程序你有创建一个指向调用生成文档的方法的路径的新选项卡。您可以使用下一个代码打开一个选项卡:$window.open(path)我认为在下一个链接中您可以获得所需的所有信息:使用AngularJS从ASP.NETWebAPI方法下载文件希望对你有所帮助以上是C#学习教程:HowtodownloadmemorystreamobjectsthroughangularJSandwebaAPI2分享完整内容,如果对大家有用和需要了解更多关于C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢