我正在做一个项目,我必须在我的Laravel应用程序上显示电子书。我使用futurepress/epub.js来显示epub文件,epub.js显示存储在本地存储中的文件,但是当我将文件存储在s3中并使用s3 urls时,它会引发异常。
1.未定义的ReferenceError:当我使用已签名的s3 url时,将引发
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");示例: Uncaught : href未定义,将在以下一行中抛出var Book =
2.加载https://venkitest1.s3.us-east-2.amazonaws.com/contents/1/1/1/b6221779e85b87c620decc8028aaf8188c000b26.epub失败:请求的资源上没有“访问-控制-允许-原产地”标头。因此,不允许访问'http://localhost:8000‘。当我使用s3公共urls时,会引发。
ePub("https://venkitest1.s3.us-east-2.amazonaws.com/contents/1/1/1/b6221779e85b87c620decc8028aaf8188c000b26.epub");示例: var Book =
此工作- var Book = ePub("http://localhost:8000/storage/contents/1/1/1/32bfe62a1a8fab105588af74f468f333a4396b53.epub");
任何帮助都是非常感谢的。
谢谢。
发布于 2017-12-11 09:04:27
您需要将localhost:8000添加到s3桶的CORS策略中。http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
发布于 2017-12-12 05:29:41
解决方案:通过传递{ true :true }来解决这个问题,方法是将图书作为包含的epubs处理。
示例: var Book = ePub("http://server.com/media.php?id=12345",{:true });
https://stackoverflow.com/questions/47747412
复制相似问题