我的MVC controller
上有一个非常简单的文件上传方法,在我的电脑上从浏览器上传图片时效果非常好。
上传代码:
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase file, string encodedId)
但是,如果我尝试从iPhone
上传图片,则会收到错误
路由表中没有路由与提供的值匹配
我尝试从方法中删除参数,而是从Request对象访问数据:
修改后的代码:
[HttpPost]
public ActionResult FileUpload()
{
var file = HttpContext.Request.Files[0];
string encodedId = HttpContext.Request.Form["EncodedId"];
这会导致相同的错误。
我无法确定iPhone
发送到服务器的内容,因为我iPhone
上没有任何类型的开发工具。
答案 0 :(得分:0)
我将我的文件命名为File,并通过以下代码获取。
[HttpPost]
[Route("UploadAttachment")]
public IHttpActionResult UploadAttachment()
{
try
{
HttpPostedFile File = HttpContext.Current.Request.Files.Count > 0 ?
HttpContext.Current.Request.Files.Get("File") : null;
if (File != null)
{
Uploader uploader = new Uploader();
var Result = uploader.uploadToServer(File);
return Ok(Result);
}
else
{
return BadRequest("File is Required");
}
}
catch (Exception ex)
{
return InternalServerError(ex);
}
}