我试图测试我的网络API,但我无法将图片作为字节数组发布。我该怎么做?我使用文件上传参数并指定内容类型的应用程序/八位字节流,但我得到415不支持的媒体类型。如何将图像作为字节数组发布?
这是我的要求:
表格后期参数属性:
这是我的网络api post方法:
这是我的webtest请求日志:
修改 @nick_w有很好的答案,但我找到了另一种方式。我从我的webtest文件生成代码。正确的测试请求应如下所示:
WebTestRequest request2 = new WebTestRequest("http://url/api/SendStream");
request2.Method = "POST";
request2.Headers.Add(new WebTestRequestHeader("Content-Type", "application/octet-stream"));
request2.QueryStringParameters.Add("JobId", this.Context["JobId"].ToString(), false, false);
FileStream oFileStream = new FileStream("4_e.jpg", FileMode.Open, FileAccess.Read);
byte[] bytes = new byte[oFileStream.Length];
oFileStream.Read(bytes, 0, System.Convert.ToInt32(oFileStream.Length));
oFileStream.Close();
BinaryHttpBody request2Body = new BinaryHttpBody();
request2Body.ContentType = "application/octet-stream";
request2Body.Data = bytes;
request2.Body = request2Body;
request2.SendChunked = true;
request2.Timeout = 10000000;
yield return request2;
request2 = null;
答案 0 :(得分:1)
我希望您在将stream参数绑定到字节数组时遇到问题。根据{{3}}和here问题中的信息,尝试将您的方法更改为:
public async Task<ResponseEntity<SendStreamResponse>> Post([FromUri]int jobId)
{
byte[] stream = await Request.Content.ReadAsByteArrayAsync();
return await SendStreamAsync(jobId, stream);
}