由于 google doc viewer api,我尝试在 iframe 内显示存储在 S3 存储桶中的 .doc 文件。
我已经做了一些研究并发现了这个,我试图在这里应用:
var encodedUrl = encodeURIComponent("http://myAPI.com/1d293950-67b2-11e7-8530-318c83fb9802/example.docx?X-Amz-Algorithm=AWS4-HMAC-SHA256%26X-Amz-Credential=GNRO0BLDYAJP1FU7ALIS%2F20170717%2Fus-east-1%2Fs3%2Faws4_request%26X-Amz-Date=20170717T145429Z%26X-Amz-Expires=600%26X-Amz-SignedHeaders=host%26X-Amz-Signature=ee556c5c92427bb38265507218a701660936bc2774ecc919648bb2d780a2619f");
$scope.selectedSource = $sce.trustAsResourceUrl(
"http://docs.google.com/gview?url=" + encodedUrl + "&embedded=true"
);
Run Code Online (Sandbox Code Playgroud)
iframe 看起来像:
<iframe ng-src="{{selectedSource}}" frameborder="no" style="width:100%;height:100%"></iframe>
Run Code Online (Sandbox Code Playgroud)
但是我仍然从 iframe 内的查看器中收到“无预览可用”,知道为什么吗?
我指定签名的 url(未编码)在我将其粘贴到浏览器中时有效,因此我拥有所需的所有权限。