一站式
提供docx、xlsx、pdf 3种文档的在线预览方案
diff --git a/docs/guide/faq.md b/docs/guide/faq.md index 9d1b6a6..306ef2c 100644 --- a/docs/guide/faq.md +++ b/docs/guide/faq.md @@ -7,6 +7,57 @@ 跨域设置是否成功,可以看返回的响应头里面,是否有access-control-allow-origin字段 +解决跨域有以下几种方式: + +- 修改nginx或者apache配置 + +只需要在server或者静态文件对应的location中添加 add_header Access-Control-Allow-Origin *; + +```shell + server { + add_header Access-Control-Allow-Origin *; + } +``` +这种方式最简单,但是接口也跟着允许跨域了,如果你的文件只是在某个目录下,可以只针对具体配置设置允许跨域。 + +```shell + server { + location /upload/ { + add_header Access-Control-Allow-Origin *; + root /opt/homebrew/etc/nginx; + } + } +``` +这样配置只针对 /upload开头的请求生效。 + +- 在后端静态服务中设置允许跨域 + +在php加载的文件头部加入以下代码 +```php + header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求 +``` + +node服务,以koa为例,可以使用koa-cors中间件 +```javascript +const serve = require('koa-static'); +const Koa = require('koa'); +const app = new Koa(); + +var cors = require('koa-cors'); +app.use(cors({ + origin: '*' +})); + +app.use(serve('.', { +})); + + +app.listen(3000); +``` + +各种语言都类似,可以自行百度查询 + + ![描述][cros] ## 文件预览不出来 diff --git a/examples/docs/404.html b/examples/docs/404.html index 30dad46..20aa26e 100644 --- a/examples/docs/404.html +++ b/examples/docs/404.html @@ -12,7 +12,7 @@
404
But if you don't change your direction, and if you keep looking, you may end up where you are heading.
跨域需要后端配合解决,设置允许资源文件跨域访问。
跨域设置是否成功,可以看返回的响应头里面,是否有access-control-allow-origin字段
解决跨域有以下几种方式:
只需要在server或者静态文件对应的location中添加 add_header Access-Control-Allow-Origin *;
server {
+ add_header Access-Control-Allow-Origin *;
+ }
+
这种方式最简单,但是接口也跟着允许跨域了,如果你的文件只是在某个目录下,可以只针对具体配置设置允许跨域。
server {
+ location /upload/ {
+ add_header Access-Control-Allow-Origin *;
+ root /opt/homebrew/etc/nginx;
+ }
+ }
+
这样配置只针对 /upload开头的请求生效。
在php加载的文件头部加入以下代码
header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
+
node服务,以koa为例,可以使用koa-cors中间件
const serve = require('koa-static');
+const Koa = require('koa');
+const app = new Koa();
+
+var cors = require('koa-cors');
+app.use(cors({
+ origin: '*'
+}));
+
+app.use(serve('.', {
+}));
+
+
+app.listen(3000);
+
各种语言都类似,可以自行百度查询
pdf渲染时可能会请求一些bcmap文件,这些文件默认从 https://unpkg.com/pdfjs-dist@3.1.81/ 加载,但是可能存在网络不通问题,如果遇到这种问题,可以将这些文件放到自己静态目录,然后修改该属性,告诉组件去这里请求bcmap文件。
涉及的文件存放在当前github项目中examples/public/cmaps目录下,可将cmaps目录复制到你的静态服务目录下,然后修改staticFileUrl为cmaps文件夹对应的父地址,必须已http或https开头,如 http://yourdomain/static/
- - - - -