2
백 슬래시를 이스케이프 처리하기 위해 문자열을 허용하는 웹 API를 호출 할 수 있습니까?URL의 역 슬래시를 이스케이프 처리합니다.
통화 구문은 /api/testapi/PostSomeData/{ID}/{text}
입니다. text
은 URL, 파일 경로 또는 일부 텍스트 일 수 있습니다. text
이 URL이나 텍스트이면 내 프로그램이 정상적으로 작동합니다. 파일 경로가 file:///C:/TestDirec
또는 \\\\ServerName\\SomeData\\dinosaur.jpg
인 경우 실패합니다.
http://localhost:12/api/testapi/PostSomeData/1/file:///C:/TestDirec
또한 내 WebApiConfig 파일
[AcceptVerbs("GET")]
public void PostSomeData(int ID, string FilePath)
{
}
방법이 작업을 수행하는 것입니다이
config.Routes.MapHttpRoute(
name: "Api",
routeTemplate: "api/testapi/{action}/{ID}/{FilePath}",
defaults: new { Controller = "testapi", ID = @"\d+", FilePath [email protected]"\d+" }
);
컨트롤러 코드처럼 보이는?
하지만 내 전화는 http : // localhost : 12/api/testapi/PostSomeData/1/file : /// C :/TestDirec입니다. 나는이 URL을 입력한다. – newbieCSharp
@newbieCSharp이 http://google.com?q=file%3a%2f%2f%2fC%3a%2fTestDirec을 (를) 사용해보십시오 텍스트 상자에 표시되는 내용은 무엇입니까? – EZI
그 작품. 나는 명확성을 위해 더 많은 코드를 추가했다. 이 웹 API 호출은 인코딩 된 URL로 작동하지 않습니다. – newbieCSharp