从ASP.net MVC 4 WEB API控制器返回byte []

马克·巴特(Markand Bhatt)

我有一个控制器方法,它返回byte []。

[ActionName("testbytes")]
public byte[] GetTestBytes() {
    var b = new byte[] {137, 80, 78, 71};
    return b;
}

当我点击api时,我得到以下结果。

<base64Binary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">iVBORw==</base64Binary>

另外,当我从自定义HttpClient命中此api时,我得到10个字节作为响应。以下是自定义HttpClient的代码。

public async Task<byte[]> GetTestBytes() {
    var uri = "apiPath/testbytes";
    using (var client = new HttpClient())
    {
        var httpResponse = await client.GetAsync(uri, HttpCompletionOption.ResponseContentRead);
        if (httpResponse.IsSuccessStatusCode) {
            var bytes = await httpResponse.Content.ReadAsByteArrayAsync();
        }
        return bytes;
    }
    return null;
}

我期待4个字节,而我却要接收10个字节。

影音

@Markand:点击API时,返回的响应将用双引号引起来(“ responsebodygoeshere”)

所以下面的字节数组

var b =新字节[] {137,80,78,71};

被序列化为“ iVBORw ==“

因此,在调用httpResponse.Content.ReadAsByteArrayAsync();时,您将获得“ iVBORw ==”的字节表示形式(这将是10个字节),而不是iVBORw ==

(可选)您可以将响应内容读取为字符串,然后修剪引号,然后将其转换为byte [](可能会有更好的方法。

IE var response = httpResponse.Content.ReadAsStringAsync().Trim('"')

然后调用以下方法获取字节

var bytesResponse =  Convert.FromBase64String(response);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从ASP.net MVC 4 WEB API控制器返回byte []

来自分类Dev

如何在ASP.NET MVC / Web控制器中返回JSON?

来自分类Dev

将列表<T>从控制器返回到ASP.NET MVC4中的Ajax

来自分类Dev

显示列表从控制器返回到视图ASP.NET MVC4中的表

来自分类Dev

如何调用从ASP.Net MVC4控制器方法返回Task <T>的方法?

来自分类Dev

从Javascript调用ASP.NET MVC 4控制器

来自分类Dev

ASP.NET MVC 4 / MVVM / Web API的良好结构?

来自分类Dev

使控制器对ASP.NET WEB API(或MVC)中的客户端不可见

来自分类Dev

将Asp.Net MVC控制器转换为Web API的最佳方法

来自分类Dev

asp.net mvc / web api 2-控制器接受JSON对象数组

来自分类Dev

Json格式。使用Web Api控制器,ASP.NET MVC缩进

来自分类Dev

Json格式。使用Web Api控制器,ASP.NET MVC缩进

来自分类Dev

将Asp.Net MVC控制器转换为Web API的最佳方法

来自分类Dev

Asp.net MVC项目中的Angularjs调用Web API控制器

来自分类Dev

ASP MVC 4 + Web API

来自分类Dev

ASP.Net MVC控制器构造函数显示错误System.Web.Mvc.Controller.Session.get返回null

来自分类Dev

从ASP.NET MVC控制器将数据发布到ASP.NET Web API控制器时的待处理请求

来自分类Dev

Asp.net Mvc 控制器返回可选视图

来自分类Dev

为什么我的ASP.Net Core Web API控制器不返回XML?

来自分类Dev

如何在ASP.NET Web API异步控制器方法中返回对象列表

来自分类Dev

在ASP.NET MVC 5控制器中使用POST从dotnet Core Web API下载文件

来自分类Dev

特定于路由的 ASP.NET MVC Web API 消息处理程序不调用控制器操作

来自分类Dev

在 asp .net mvc 中创建 Api 控制器

来自分类Dev

如何在ASP.NET MVC4 Api控制器中将视图呈现为字符串

来自分类Dev

ASP.NET Web API控制器更新行

来自分类Dev

忽略ASP.NET Web API中的控制器

来自分类Dev

ASP.net MVC Web API + Android

来自分类Dev

ASP.net MVC Web API + Android

来自分类Dev

ASP.NET MVC和WEB API

Related 相关文章

  1. 1

    从ASP.net MVC 4 WEB API控制器返回byte []

  2. 2

    如何在ASP.NET MVC / Web控制器中返回JSON?

  3. 3

    将列表<T>从控制器返回到ASP.NET MVC4中的Ajax

  4. 4

    显示列表从控制器返回到视图ASP.NET MVC4中的表

  5. 5

    如何调用从ASP.Net MVC4控制器方法返回Task <T>的方法?

  6. 6

    从Javascript调用ASP.NET MVC 4控制器

  7. 7

    ASP.NET MVC 4 / MVVM / Web API的良好结构?

  8. 8

    使控制器对ASP.NET WEB API(或MVC)中的客户端不可见

  9. 9

    将Asp.Net MVC控制器转换为Web API的最佳方法

  10. 10

    asp.net mvc / web api 2-控制器接受JSON对象数组

  11. 11

    Json格式。使用Web Api控制器,ASP.NET MVC缩进

  12. 12

    Json格式。使用Web Api控制器,ASP.NET MVC缩进

  13. 13

    将Asp.Net MVC控制器转换为Web API的最佳方法

  14. 14

    Asp.net MVC项目中的Angularjs调用Web API控制器

  15. 15

    ASP MVC 4 + Web API

  16. 16

    ASP.Net MVC控制器构造函数显示错误System.Web.Mvc.Controller.Session.get返回null

  17. 17

    从ASP.NET MVC控制器将数据发布到ASP.NET Web API控制器时的待处理请求

  18. 18

    Asp.net Mvc 控制器返回可选视图

  19. 19

    为什么我的ASP.Net Core Web API控制器不返回XML?

  20. 20

    如何在ASP.NET Web API异步控制器方法中返回对象列表

  21. 21

    在ASP.NET MVC 5控制器中使用POST从dotnet Core Web API下载文件

  22. 22

    特定于路由的 ASP.NET MVC Web API 消息处理程序不调用控制器操作

  23. 23

    在 asp .net mvc 中创建 Api 控制器

  24. 24

    如何在ASP.NET MVC4 Api控制器中将视图呈现为字符串

  25. 25

    ASP.NET Web API控制器更新行

  26. 26

    忽略ASP.NET Web API中的控制器

  27. 27

    ASP.net MVC Web API + Android

  28. 28

    ASP.net MVC Web API + Android

  29. 29

    ASP.NET MVC和WEB API

热门标签

归档