我的对象如下所示:
var object = {User:{UserName:'test',UserId:232},
Addresses:[
Address:{City:'Chennai',State:'Tamilnadu',PostCode:'34344'},
Address:{City:'Salem',State:'Tamilnadu',PostCode:'243254'
]};
与此对象一起,我想传递可能包含图像/音频/视频/文档的文件。
现在我想将它从MVC控制器传递给API。 我已经将文件转换为Streamcontent并将其作为Json传递给对象,如下所示。
var fileContent = Request.Files[file];
if (fileContent != null && fileContent.ContentLength > 0)
{
stream = new StreamContent(fileContent.InputStream);
stream.Headers.Add("Content-Type", "application/octet-stream");
stream.Headers.Add("Content-Disposition", "form-data; name=\"file\"; filename=\"" + fileContent.FileName + "\"");
}
using (var response = client.PostAsJsonAsync(url, new { stream, Addresses, User }).Result)
现在,这将把对象和Stream作为Json传递给API。 我在API中检索对象作为FromBody
我可以从Json反序列化User和Address对象 但是我无法对流进行反序列化。
任何人都有想法将Json转换为流,或者是否有其他方式通过文件传递上述复杂对象?
编辑:我的实际问题是,我想发送复杂的对象(它将如上所示)与文件(它可能包含图像/音频/视频/文档)从MVC控制器到C#中的API
由于