2017-12-03 111 views
-2

我正在開發使用asp.net Web API的restful web服務以在我的Android應用程序中使用它。我正在開發asp.netnet API以在我的Android應用程序中使用它,

,在這裏我所得到的,當我跑我的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應用程序調用時如何從其路徑中打開圖像?

在此先感謝

+1

你真的應該避免在響應返回本地路徑。它不僅不能在其他人的機器上工作,而且還是一個安全漏洞,因爲它會告訴潛在的攻擊者你的機器。相反,首先返回一個URL。 –

+0

https://stackoverflow.com/users/6815131/joe-c –

+0

https://stackoverflow.com/users/6815131/joe-c你有什麼想法如何開始 –

回答

0

您可以使用第三方庫像Glide

這是很簡單的。檢查他們的樣品更多的信息

請注意,您將需要一個有效的URL到圖像成功加載到ImageView

GlideApp.with(this) 
    .load("http://someAwesomepic") 
    .into(imageView); 

您還可以使用Picasso,這是另一種非常真棒圖書館做類似的工作

這兩個庫是非常靈活,可以幫助您完成您的工作

添加到喬C註釋,你需要創建的圖像可以是PU的專用目錄blicly訪問。將所有圖像存儲到此目錄中。

現在在你的數據庫只存儲映像名稱與路徑例如/images/IMG_123.jpg

在構建響應追加的基本URL與上述路徑

+0

我有我的圖像路徑不是網址,它還好嗎? –

+0

圖片路徑需要轉換成有效的網址。這個網址將指向一個可公開發布的圖像文件。 – Rinav

+0

完全同意喬C,不存儲本地路徑圖像 – Rinav

相關問題