我正在尋找一種解決方案,以在使用AngularJS和Cordova/Phonegap開發的移動應用程序中顯示文檔。AngularJS - 我可以在HTML文件中顯示文檔嗎?
我正在使用返回文件原始內容的Web服務,因此例如我使用我的AngularJS服務來使用Web服務來獲取文件,它返回的是文件的原始內容。在下面顯示的情況下,它是一個Word文檔。但它可能是PDF,Excel,Powerpoint等...
我是相對較新的AngularJS,只有一些與HTML和Javascript的經驗我正在尋找使用從Web服務的原始數據的最佳方法指導在我的應用程序中內聯顯示文檔。
下面是我當前的代碼和來自我的設備的圖像,以顯示我目前正在獲取的內容。我的問題是,從這裏獲取文檔到應用程序可見狀態的最佳方法是什麼?
我的服務:
myApp.services.factory('DownloadDocResource', ['$resource', function ($resource) {
return $resource('http://myWebSerivceURL/Documents/myTestDoc.doc', {}, {'query': {method: 'GET', isArray: false}});
}]);
myApp.services.factory('DownloadDocService', ['$q', 'DownloadDocResource', function($q, DownloadDocResource) {
return {
getDocument: function() {
var delay = $q.defer();
DownloadDocResource.query(
function (response) {
delay.resolve(response);
},
function (response) {
delay.reject("can't get document source");
});
return delay.promise;
}
}
}]);
我的控制器:
myApp.controllers.controller("DownloadDocCtrl", ['$scope', 'DownloadDocService',
function ($scope, DownloadDocService) {
DownloadDocService.getDocument().then(function (document) {
$scope.document = document;
});
}
]);
我的HTML:
<div style="color:#FFFFFF" ng-controller="DownloadDocCtrl">
{{document}}
</div>
結果:
在應用程序中嵌入通用查看器將是首選選項,但獲取文檔下載並允許用戶隨後使用其首選應用程序打開該應用程序將是可以接受的。 –