2014-07-19 5 views
1

jQuery를 통해 업로드 한 이미지를 base64 바이트 배열/문자열로 변환했습니다. 코드의 도움으로json의 base64 바이트 배열을 webApi에 넘김

: 지금 내 웹 API에 JSON을 통해 배열을 전달하고 문제가 있습니다

function readImage(input) { 
     debugger; 
     if (input.files && input.files[0]) { 
      var FR = new FileReader(); 
      var a = null; 
      FR.onload = function (e) { 
       array = e.target.result; 
      }; 
      FR.readAsDataURL(input.files[0]); 
    } 

.

내 JSON 호출은 같은 것입니다 :

$.getJSON('api/TestImage' + '/' + JSON.stringify(array)) 
      .done(function (data) { 
       //doSomething 
      }); 

내 행동은 다음과 같습니다

 public IHttpActionResult TestImage(String id) 
     { 
      return Ok(id); 
     } 

그래서 하나가 문제이고 무엇을 필요로하는 것은 할 수 무엇을 알 수 있습니다.

미리 감사드립니다.

+0

해당 작업을 수행하는 컨트롤러의 이름은 무엇입니까? API 호출에서 컨트롤러 이름, 즉 API/컨트롤러/액션이 누락되었습니다. 물론 기본 라우팅 정의를 사용한다고 가정합니다. –

+0

TestImage는 컨트롤러 이름이며 api에서 액션에 대한 강요가 없다고 생각합니다. WebApiConfig가이를 관리합니다. 내 행동의 나머지 부분을 관리하고 있습니다. –

+0

위의 액션 이름을'Get (string id)'으로 변경하거나 jQuery의 HTTP 요청 URL을 'api/TestImage/TestImage'로 변경하십시오. –

답변

0

왜 URL 및 GET으로 이미지를 보내나요? 요청 본문에 POST를 사용하여 보내야합니다. base64의 이미지는 꽤 클 수 있으며 URL에 대한 몇 가지 제한 사항에 도달 할 수 있습니다. 살펴보기 this

관련 문제