2016-09-23 6 views
0

내 PC의 브라우저에서 이미지를 업로드 할 때 아주 잘 작동하는 내 MVC controller에 매우 간단한 파일 업로드 방법이 있습니다.iOS에서 MVC 컨트롤러로 파일 업로드하기

업로드 코드 : 나는에서 이미지를 업로드하려고하면

[HttpPost] 
public ActionResult FileUpload(HttpPostedFileBase file, string encodedId) 

하지만, 내 iPhone 나는 오류가

으로 경로 테이블에 경로가 지정된 값과 일치하지 얻을

메서드에서 매개 변수를 제거하고 대신 데이터에 액세스하려고했습니다. 요청 개체 :

수정 된 코드 :

[HttpPost] 
public ActionResult FileUpload() 
    { 
    var file = HttpContext.Request.Files[0]; 
    string encodedId = HttpContext.Request.Form["EncodedId"]; 

이 같은 오류가 발생합니다.

iPhone에 개발 도구가 없기 때문에 iPhone이 서버에 보내는 내용을 확인할 수 없습니다.

+0

iPhone 코드를 개발 한 사람들에게 당신에게 말할 수 있습니까? iOS에서 .Net으로 파일을 업로드하기 위해 과거에 수행 한 작업은 이미지를 Bas64 문자열로 보내지 만 .NET 측의 바이트 배열로 정의합니다. – Flexicoder

+0

안녕 Flexicoder. 죄송합니다. 이미지가 iOS Safari 브라우저에서 업로드되고 있다고 말했어야합니다. – Steve

답변

0

저는 파일로 보내는 파일의 이름을 다음 코드를 통해 가져옵니다.

[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); 
      } 
     } 
+0

안녕 Zain, 내 문제는 반드시 메서드의 구현이 아닙니다. 라우팅 문제로 인해 메소드를 트리거 할 수 없다는 것입니다. – Steve

+0

코드를 보여줄 수 있습니까? –

관련 문제