ajax请求api类型为json,带有字节数组的Ajax JSON到webapi返回“No Content-Type header”

我需要使用WebAPI在单个帖子中发送图像和相关属性 . 作为测试,我创建了一个双属性对象,明确设置了内容类型 . 我收到了一个错误:

请求包含实体主体但没有Content-Type标头 . 此资源不支持推断的媒体类型“application / octet-stream” .

请求数据:

var array = new Uint8Array(arrayBuffer); // Valid byte[] of image

var testData = {

extension: "textExtension",

data: array

}

发布对象:

$.ajax({

url: apiRoot + 'api/ImageTest',

type: 'POST',

data: testData,

contentType: 'application/json;',

});

提琴手 Headers :

POST http:// localhost:56565 / api / ImageTest HTTP / 1.1主机:localhost:56565连接:keep-alive内容长度:71556 Pragma:no-cache Cache-Control:no-cache接受:/ Origin:null用户-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,类似Gecko)Chrome / 57.0.2987.133 Safari / 537.36内容类型:application / json; Accept-Encoding:gzip,deflate,br Accept-Language:en-US,en; q = 0.8 extension = testExtension&data%5B0%5D = 137&data%5B1%5D = 80&data%5B2%5D = 78&data%5B3%5D = 71&data% 5B4%5D = 13&数据%5B5%5D = 10数据%5B6%5D = 26&数据%5B7%5D = 10数据%5B8%5D = 0&数据%5B9%5D = 0&数据%5B10%5D = 0&数据%5B11%5D = 13&数据%5B12% 5D = 73&数据%5B13%5D = 72&数据%5B14%5D = 68&数据%5B15%5D = 82&数据%5B16%5D = 0&DAT ........

返回:

HTTP / 1.1 415不支持的媒体类型缓存控制:no-cache Pragma:no-cache Content-Type:application / json; charset = utf-8过期:-1服务器:Microsoft-IIS / 7.5访问控制 - 允许 - 来源:* X-AspNet-版本:4.0.30319 X-Powered-By:ASP.NET日期:星期四,2017年5月4日16:36:00 GMT Content-Length:801 {“Message”:“请求包含实体主体但没有Content-Type标头 . 此资源不支持推断的媒体类型'application / octet-stream' . ”, “ExceptionMessage”:“没有MediaTypeFormatter可用于从媒体类型为'application / octet-stream'的内容中读取'SurveyImage'类型的对象 . ”,“ExceptionType”:“System.Net.Http.UnsupportedMediaTypeException”,“StackTrace” :”在System.Net.Http.HttpContentExtensions.ReadAsAsync [T](HttpContent内容,类型类型,IEnumerable1格式化,IFormatterLogger formatterLogger,的CancellationToken的CancellationToken个)\ r \ n在System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage请求,类型类型,IEnumerable1格式化程序,IFormatterLogger formatterLogger,CancellationToken cancellationToken)“}

测试模型:

public class SurveyImage {

public string extension { get; set; }

public byte[] data { get; set; }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值