如何在ASP上接收MultipartFormData.净c#
本文关键字:MultipartFormData ASP | 更新日期: 2023-09-27 18:15:59
我和一个iOS的家伙一起工作。他想通过WebAPI ASP.NET上传图像。我得打个电话才能接收到这些图像。
他说他正在使用AFNetworking通过AFMultipartFormData
发送数据。我的问题是,我怎样才能在我的末端接收到这些信息?我应该采用JSON格式的数据吗?或者为此需要采取哪些措施?我想知道整个过程,因为这是我第一次使用MultipartFormData
更新
基于答案,我使用了这个:
[HttpPut]
public IHttpActionResult GetPatientFilesAction(int id, Model.Patients.PatientFiles patientFile)
{
Model.Patients.PatientFiles pFile=new Model.Patients.PatientFiles();
try
{
HttpPostedFile xmlFile = HttpContext.Current.Request.Files[0];
var fileForm = HttpContext.Current.Request.Form;
var fileKey = HttpContext.Current.Request.Form.Keys[0];
string[] jsonformat = fileForm.GetValues(fileKey);
pFile = Newtonsoft.Json.JsonConvert.DeserializeObject<Model.Patients.PatientFiles>(jsonformat[0]);
}
catch (Exception ex)
{
pFile.ErrorMessage = ex.ToString();
}
return Ok(pFile);
}
但是iOS的家伙得到了:
请求失败:不支持的媒体类型(415)
在web API控制器中,您可以使用以下代码访问图像文件:-
HttpPostedFile xmlFile = HttpContext.Current.Request.Files[0];
如果有多个文件发布,请将files[0]替换为相应的计数1或2等。
然后你可以使用代码访问JSON:
var fileForm = HttpContext.Current.Request.Form;
var fileKey = HttpContext.Current.Request.Form.Keys[0];
string[] jsonformat = fileForm.GetValues(fileKey);
var yourModel = JsonConvert.DeserializeObject<YourClassType>(jsonformat[0]);
如果你有一个以上的json字符串张贴,替换jsonformat[0]与各自计数1或2等