【问题标题】:Web API error when retrieving file检索文件时出现 Web API 错误
【发布时间】:2017-05-17 09:07:11
【问题描述】:

我正在尝试从 Web API 读取和发送 xml 文件内容。文件位于磁盘中。当我执行 ReadStream 时,没有中断异常,但如果我打开响应,则会出现 stream.ReadTimeout 和 stream.WriteTimeout 错误。

这是我使用的代码:

    public HttpResponseMessage Get()
    {
        var path = @"E:\files\1.xml";
        HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
        var stream = new FileStream(path, FileMode.Open);
        result.Content = new StreamContent(stream);
        result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml");
        return result;
    }

错误如下:

XML

<?xml version="1.0" encoding="UTF-8"?> <fields xmlns:xfdf="http://ns.adobe.com/xfdf-transition/"> <GenderListBox xfdf:original="Gender List Box">Man</GenderListBox> <Language5CheckBox xfdf:original="Language 5 Check Box">Off</Language5CheckBox> <Language4CheckBox xfdf:original="Language 4 Check Box">Off</Language4CheckBox> <Language3CheckBox xfdf:original="Language 3 Check Box">Yes</Language3CheckBox> <Language2CheckBox xfdf:original="Language 2 Check Box">Yes</Language2CheckBox> <Language1CheckBox xfdf:original="Language 1 Check Box">Off</Language1CheckBox> <FavouriteColourListBox xfdf:original="Favourite Colour List Box">Red</FavouriteColourListBox> <DrivingLicenseCheckBox xfdf:original="Driving License Check Box">Off</DrivingLicenseCheckBox> <HeightFormattedField xfdf:original="Height Formatted Field">150</HeightFormattedField> <FamilyNameTextBox xfdf:original="Family Name Text Box">ewew</FamilyNameTextBox> <GivenNameTextBox xfdf:original="Given Name Text Box">ewew</GivenNameTextBox> </fields>

感谢任何指针。

【问题讨论】:

    标签: .net asp.net-mvc asp.net-web-api


    【解决方案1】:

    请试试这个:

    result.Content = new StreamContent(new MemoryStream(File.ReadAllBytes(@"E:\files\1.xml")));
    

    【讨论】:

    • 提供一行代码来解决这个问题很好。但是,请考虑添加一些有关为什么此行会解决问题的信息,以便 OP 和下一个读者在解决问题时真正学到一些东西。
    • 亲爱的@PAVITRA,上面的代码对我有用。如果它不适合你,我猜你的 xml 文件有问题。请分享您的 xml 文件,以便我为您提供帮助。
    • @David 我已经用 XML 内容更新了问题。谢谢
    猜你喜欢
    • 2020-05-18
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    相关资源
    最近更新 更多