gpt4 book ai didi

c# - 如何通过 Web API 中的 post 请求接收流和对象?

转载 作者:太空狗 更新时间:2023-10-29 22:35:45 24 4
gpt4 key购买 nike

我目前正在使用 Web API 开发 REST 网络服务。

现在我正在尝试通过帖子接收流文件和对象。

当我在没有 JobPosition 对象的情况下发送它时,我正确地收到了文件,当我发送没有文件的 JobPosition 时,我也正确地收到了 JobPosition。

但是当我通过 postman 发送流文件和对象时,我收到错误。

如果您能帮助我了解这是否可行,以及如果可行,那将对我有帮助的方向,我将不胜感激。

public class JobPosition
{
public int Id { set; get; }
public string Title { set; get; }
}

[HttpPost]
[Route("Job")]
public async Task<bool> Post(JobPosition job)
{
var multipartMemoryStreamProvider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(multipartMemoryStreamProvider, new CancellationToken());
var stream = await multipartMemoryStreamProvider.Contents[0].ReadAsStreamAsync();
// implementaion
return true;
}

postman 要求: enter image description here enter image description here

我尝试了所有可能的 Content-Type 组合,但没有成功。

最佳答案

删除 (JobPosition job) 操作函数参数,而是通过 multipartMemoryStreamProvider 对象用您自己的代码读取它。

await multipartMemoryStreamProvider.Contents[0].ReadAsStreamAsync(); //Stream
await multipartMemoryStreamProvider.Contents[1].ReadAsStreamAsync(); //JSON

类似的东西。顺序很重要。最好假设它可以按任何顺序出现,遍历 Contents 集合,并根据变量的名称进行处理。

关于c# - 如何通过 Web API 中的 post 请求接收流和对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48825170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com