Jen*_*ler 5 c# rest asp.net-web-api
我目前正在使用Web API开发REST Web服务。
现在,我试图通过帖子接收流文件和对象。
当我发送没有JobPosition对象的文件时,我正确地接收了文件,当我发送没有文件的JobPosition文件时,我也正确地接收了JobPosition。
但是,当我通过邮递员发送流文件和对象时,会收到错误消息。
非常感谢您的帮助,以了解这是否可行,如果可以的话,将对我有所帮助。
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;
}
Run Code Online (Sandbox Code Playgroud)
我尝试了Content-Type的所有可能组合,但均未成功。
删除 (JobPosition job)操作函数参数,并通过对象使用您自己的代码读取该参数multipartMemoryStreamProvider。
await multipartMemoryStreamProvider.Contents[0].ReadAsStreamAsync(); //Stream
await multipartMemoryStreamProvider.Contents[1].ReadAsStreamAsync(); //JSON
Run Code Online (Sandbox Code Playgroud)
类似的事情。顺序很重要。最好假设它可以按任何顺序出现,循环遍历 Contents 集合,并根据变量的名称进行处理。