【发布时间】:2018-05-24 15:36:49
【问题描述】:
我正在做一个项目,我必须在我的 Laravel 网络应用程序上显示电子书。我正在使用 futurepress/epub.js 显示 epub 文件,epub.js 显示存储在本地存储中的文件,但是当我将文件存储在 s3 中并使用 s3 url 时,它会引发异常。
1. Uncaught ReferenceError: href is not defined 当我使用签名的 s3 url 时抛出
示例:未捕获的 ReferenceError: href is not defined 在这一行中抛出 var Book = ePub("https://venkitest1.s3.us-east-2.amazonaws.com/contents/1/1/1/b6221779e85b87c620decc8028aaf8188c000b26.epub?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI6LL2FHRGEK5PCKA%2F20171208%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20171208T112812Z&X-Amz-SignedHeaders=host&X-Amz-Expires=60&X-Amz-Signature=9a6ae022833c4a33495e164a6d5a9134b0444f821ea29d11c49b47b66f1727c8");
2。无法加载https://venkitest1.s3.us-east-2.amazonaws.com/contents/1/1/1/b6221779e85b87c620decc8028aaf8188c000b26.epub:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:8000' 因此不允许访问。 当我使用 s3 公共 url 时抛出
示例:var Book = ePub("https://venkitest1.s3.us-east-2.amazonaws.com/contents/1/1/1/b6221779e85b87c620decc8028aaf8188c000b26.epub");
这行得通 - var Book = ePub("http://localhost:8000/storage/contents/1/1/1/32bfe62a1a8fab105588af74f468f333a4396b53.epub");
感谢任何帮助。
谢谢。
【问题讨论】:
-
更新:在我更新存储桶 CORS 配置后,它现在可以与公共 s3 url 一起使用。但仍然没有签名 s3 url 的解决方案。
标签: amazon-s3 laravel-5.5 epub.js