따라와 내 OperationContract를xml은 wcf rest service 응답에서 변경됩니다. 왜?
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/send?canvasbyte={imgbyte}")]
string sendresponse(string imgbyte);
이며, 다음은 내 OperationContract를 구현하고 난 내가 함께이 서비스를 테스트하고있어
public string sendresponse(string imgbyte)
{
return imgbyte;
}
여기에 같은 인수 (문자열)을 반환하고있어 Java 스크립트에서 HTML5 클라이언트 응용 프로그램을 가져옵니다. xmlHttpRequest를 get 메서드로 보내고 있습니다. URL을 전달하는 값은 Canvas Drawing의 DataUrl입니다.
var canvas = document.getElementById('canvasid');
console.log(canvas.toDataURL());
var url = "http://myserverurl.com/ServiceImpl.svc/send?canvasbyte=" + canvas.toDataURL().toString();
var xmlHttp = new XMLHttpRequest();
xmlHttp.onload = function() {
var xmldocument = xmlHttp.responseText;
console.log(xmlHttp.responseText);
};
xmlHttp.open("GET", url, true);
xmlHttp.send();
이것은 캔버스 dataurl 큰 텍스트 값 내 클라이언트 코드입니다. 서비스가 수신하고 동일한 것을 반환 함 하지만 여기에 결과가 약간 변경됩니다. 왜?? 결과에서 일부 "+"기호가 누락 된 것 같습니다.
??? imgByte가 정확히 들어가는 방법과 반환되는 대상에 대한 어떤 종류의 표시를 제공해주십시오. – Nico
실제로 나는 긴 문자열을 보내고 있습니다. 문자열에있는 모든 + 기호가 공백으로 교체됩니다. 그게 문제입니다 .. –