将文件从iOS上传到MVC控制器

时间:2016-09-23 07:46:51

标签: ios asp.net-mvc model-view-controller

我的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上没有任何类型的开发工具。

1 个答案:

答案 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);
            }
        }