我很难将图片Url传递给我的API控制器。
控制器:
[HttpGet]
[Route("cont/getByUrl/{url}")]
public string Get(string url)
{
//code
}
我的Ajax电话
$.ajax({
url: "http://localhost:64444/api/cont/getByUrl/"+ encodeURIComponent("http://www.moooi.com/sites/default/files/styles/large/public/product-images/random_detail.jpg?itok=ErJveZTY"),
type: 'GET'
});
如果我的参数是一个简单的字符串,我就到了那里,但是如果我发送了一个Url,总是有404,我使用的是IIS 7.5。
我需要在我的Web.config上做一些更改,否则我无法做到这一点?
答案 0 :(得分:0)
使用encodeURI而不是encodeURIComponent,然后尝试
as不要调用encodeURIComponent,因为它会破坏URL
你的Ajax调用应该是这样的
$。AJAX({ url:“http://localhost:64444/api/cont/getByUrl/”+ encodeURI(“http://www.moooi.com/sites/default/files/styles/large/public/product-images/random_detail.jpg?itok=ErJveZTY”), 类型:'GET' });
答案 1 :(得分:-1)
您可以使用ActionName。而不是路由。
用户控制器的例子:
// Get: api/Users/GetPostUser
[HttpGet, ActionName("GetPostUser")]
链接将是这样的:http://localhost:64444/api/Users/GetPostUser(使用正确的端口)