我正在使用ASP.NET Web API在我的Android应用中使用它来开发RESTFUL Web服务。
以及我运行API
时得到的[
{
"id": 41,
"firstName": "ahmed",
"lastName": "jallad",
"gender": "male",
"salary": 6000,
"img": "C:\Users\ahmed\Desktop\hi.png"
},
{
"id": 46,
"firstName": "ali",
"lastName": "ali",
"gender": "male ",
"salary": 5000,
"img": "C:\Users\ahmed\Desktop\hi.png"
},
{
"id": 47,
"firstName": "wael",
"lastName": "wael",
"gender": "male",
"salary": 6000,
"img": "C:\Users\ahmed\Desktop\hi.png"
},
{
"id": 48,
"firstName": "sara",
"lastName": "sara",
"gender": "female",
"salary": 5000,
"img": "C:\Users\ahmed\Desktop\hi.png"
},
{
"id": 49,
"firstName": null,
"lastName": null,
"gender": null,
"salary": null,
"img": "C:\Users\ahmed\Desktop\hi.png"
}
]
我正在将图像的路径存储在SQL数据库中,这是.NET代码
public HttpResponseMessage Get(string gender = "ALL")
{
using (EmployeeDBEntities entities = new EmployeeDBEntities())
{
int a = 0;
switch (gender.ToLower())
{
case "all":
return Request.CreateResponse(HttpStatusCode.OK, entities.Employees.ToList());
case "male":
return Request.CreateResponse(HttpStatusCode.OK, entities.Employees.Where(e => e.Gender.ToLower() == "male").ToList());
case "female":
return Request.CreateResponse(HttpStatusCode.OK, entities.Employees.Where(e => e.Gender.ToLower() == "female").ToList());
default:
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "value for gender must be Male, Femle or ALL. " + gender + " is not valid");
}
}
}
我的问题是,当我从Android应用程序调用时,如何从其路径上打开图像?
预先感谢
您可以使用Glide等第三方库
这很简单。检查他们的样本以获取更多信息
确实注意,您将需要一个有效的URL才能成功将图像加载到ImageView
GlideApp.with(this)
.load("http://someAwesomepic")
.into(imageView);
您也可以使用毕加索,这是另一个非常棒的图书馆来完成类似的作业
两个库都非常灵活,可以帮助您完成工作
添加到Joe C评论中,您需要为图像创建一个专用目录,可以公开访问。将所有图像存储到此目录中。
现在在数据库中只需将图像名称存储在路径上,例如/images/IMG_123.jpg
构建响应时,用上述路径附加基本URL