最近在測試 Cordova-App-Loader,他可以透過 manifest.json 去判斷 App 是否有檔案需要更新,再向遠端的 Server 要下載資料,原本套件的做法是可以透過 HTTP 去檢查遠端的 manifest.json 是否和 App 內部所記錄的有差異,然後再透過同一組 HTTP URL 去抓取要更新的檔案。
而我打算透過 WebAPI 提供這樣的資源服務,因此寫了一個 UpdateController ,去檢查 manifest.json ,以其之後可以增加權限控制,避免任何知道此連結的人都可以下載的到相關的檔案,也避免暴露網站資料夾結構。
//GET api/Update/Manifest
[Route("api/Update/Manifest")]
[HttpGet]
public HttpResponseMessage GetManifest()
{
var filePath = HostingEnvironment.MapPath(@"~/Update/manifest.json");
if (File.Exists(filePath))
{
var fileJson = File.ReadAllText(filePath);
response = Request.CreateResponse