From 57e7e3457aaf0d7df5b99e5d800375cd0dba60d2 Mon Sep 17 00:00:00 2001 From: liyulin <501351981@qq.com> Date: Thu, 23 Mar 2023 13:45:56 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E8=B7=A8=E5=9F=9F=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/guide/faq.md | 51 +++++++++++++++++++ examples/docs/404.html | 2 +- examples/docs/assets/guide_faq.md.3d8a2c63.js | 25 +++++++++ .../docs/assets/guide_faq.md.3d8a2c63.lean.js | 1 + examples/docs/config/event.html | 2 +- examples/docs/config/index.html | 2 +- examples/docs/guide/contact.html | 2 +- examples/docs/guide/faq.html | 30 +++++++++-- examples/docs/guide/index.html | 2 +- examples/docs/guide/preview-docx.html | 2 +- examples/docs/guide/preview-pdf.html | 2 +- examples/docs/guide/preview-xlsx.html | 2 +- examples/docs/hashmap.json | 2 +- examples/docs/index.html | 2 +- 14 files changed, 114 insertions(+), 13 deletions(-) create mode 100644 examples/docs/assets/guide_faq.md.3d8a2c63.js create mode 100644 examples/docs/assets/guide_faq.md.3d8a2c63.lean.js 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 @@
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- diff --git a/examples/docs/assets/guide_faq.md.3d8a2c63.js b/examples/docs/assets/guide_faq.md.3d8a2c63.js new file mode 100644 index 0000000..d8f7479 --- /dev/null +++ b/examples/docs/assets/guide_faq.md.3d8a2c63.js @@ -0,0 +1,25 @@ +import{_ as A,c as E,o as I,Q as C}from"./chunks/framework.1612f957.js";const t=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"guide/faq.md"}'),Q={name:"guide/faq.md"},i=C(`

常见问题

跨域无法预览

跨域需要后端配合解决,设置允许资源文件跨域访问。

跨域设置是否成功,可以看返回的响应头里面,是否有access-control-allow-origin字段

解决跨域有以下几种方式:

只需要在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);
+

各种语言都类似,可以自行百度查询

描述

文件预览不出来

`,20),B=[i];function s(e,g,n,l,J,k){return I(),E("div",null,B)}const R=A(Q,[["render",s]]);export{t as __pageData,R as default}; diff --git a/examples/docs/assets/guide_faq.md.3d8a2c63.lean.js b/examples/docs/assets/guide_faq.md.3d8a2c63.lean.js new file mode 100644 index 0000000..81d85f8 --- /dev/null +++ b/examples/docs/assets/guide_faq.md.3d8a2c63.lean.js @@ -0,0 +1 @@ +import{_ as A,c as E,o as I,Q as C}from"./chunks/framework.1612f957.js";const t=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"guide/faq.md"}'),Q={name:"guide/faq.md"},i=C("",20),B=[i];function s(e,g,n,l,J,k){return I(),E("div",null,B)}const R=A(Q,[["render",s]]);export{t as __pageData,R as default}; diff --git a/examples/docs/config/event.html b/examples/docs/config/event.html index 95c0834..083315d 100644 --- a/examples/docs/config/event.html +++ b/examples/docs/config/event.html @@ -15,7 +15,7 @@
Skip to content
跳转到

事件

rendered

渲染完成事件,可以在该事件中处理关闭loading操作等。

首次渲染完成及每次src变化之后渲染完成都会触发该事件。

error

失败事件,各种失败都会触发该事件,包括网络请求失败,渲染失败等

- diff --git a/examples/docs/config/index.html b/examples/docs/config/index.html index 905e030..7a31e94 100644 --- a/examples/docs/config/index.html +++ b/examples/docs/config/index.html @@ -18,7 +18,7 @@ "minColLength": 20 }

staticFileUrl [pdf特有属性]

pdf渲染时可能会请求一些bcmap文件,这些文件默认从 https://unpkg.com/pdfjs-dist@3.1.81/ 加载,但是可能存在网络不通问题,如果遇到这种问题,可以将这些文件放到自己静态目录,然后修改该属性,告诉组件去这里请求bcmap文件。

涉及的文件存放在当前github项目中examples/public/cmaps目录下,可将cmaps目录复制到你的静态服务目录下,然后修改staticFileUrl为cmaps文件夹对应的父地址,必须已http或https开头,如 http://yourdomain/static/

- diff --git a/examples/docs/guide/contact.html b/examples/docs/guide/contact.html index 814d765..038a614 100644 --- a/examples/docs/guide/contact.html +++ b/examples/docs/guide/contact.html @@ -15,7 +15,7 @@
Skip to content
跳转到

联系我

提Issue

如果您遇到了问题,欢迎提Issue,同时请您尽可能详细的描述您遇到的问题,包括不限于

  • 您使用的是哪个库: @vue-office/docx、@vue-office/excel、@vue-office/pdf
  • 您使用的环境:APP or Web,PC or 移动端,如果是浏览器兼容问题,请提供您的浏览器版本
  • 如果有错误,请粘贴详细的报错信息

详细的描述有助于我尽快定位问题,因为平时工作很忙,时间很有限,感谢理解

赞助和微信交流

如果该项目确实帮助到了您,欢迎赞助,以鼓励我将更多的休息时间,投入到该项目的优化中,也欢迎赞助后添加微信交流:_hit757_

赞助二维码

跪求一赞

如果您觉得该项目帮助了您,还请伸出贵手帮忙点赞支持,万分感谢~~

- diff --git a/examples/docs/guide/faq.html b/examples/docs/guide/faq.html index 5c4f1e1..d907af6 100644 --- a/examples/docs/guide/faq.html +++ b/examples/docs/guide/faq.html @@ -10,12 +10,36 @@ - + -
Skip to content
跳转到

常见问题

跨域无法预览

跨域需要后端配合解决,设置允许资源文件跨域访问。

跨域设置是否成功,可以看返回的响应头里面,是否有access-control-allow-origin字段

描述

文件预览不出来

  • 检查文件是否返回成功,是否存在跨域
  • 目前不支持doc、xls格式文件的预览
  • 可以看看@error事件,抛出了什么错误信息
- diff --git a/examples/docs/guide/index.html b/examples/docs/guide/index.html index aa4136e..c2e4709 100644 --- a/examples/docs/guide/index.html +++ b/examples/docs/guide/index.html @@ -135,7 +135,7 @@ } </script> - diff --git a/examples/docs/guide/preview-docx.html b/examples/docs/guide/preview-docx.html index 7c510d7..cd14e51 100644 --- a/examples/docs/guide/preview-docx.html +++ b/examples/docs/guide/preview-docx.html @@ -126,7 +126,7 @@ } </script> - diff --git a/examples/docs/guide/preview-pdf.html b/examples/docs/guide/preview-pdf.html index b3f3ed1..9d77ff0 100644 --- a/examples/docs/guide/preview-pdf.html +++ b/examples/docs/guide/preview-pdf.html @@ -46,7 +46,7 @@ } </script>

上传文件预览

和docx的上传文件预览一样,获取文件的ArrayBuffer,传给组件的src属性。

- diff --git a/examples/docs/guide/preview-xlsx.html b/examples/docs/guide/preview-xlsx.html index 9450abc..3ae6a64 100644 --- a/examples/docs/guide/preview-xlsx.html +++ b/examples/docs/guide/preview-xlsx.html @@ -49,7 +49,7 @@ } </script>

上传文件预览

和docx的上传文件预览一样,获取文件的ArrayBuffer,传给组件的src属性。

- diff --git a/examples/docs/hashmap.json b/examples/docs/hashmap.json index e1f29f7..e1169e3 100644 --- a/examples/docs/hashmap.json +++ b/examples/docs/hashmap.json @@ -1 +1 @@ -{"guide_contact.md":"ced9e44d","config_event.md":"d08100fe","guide_preview-docx.md":"5e6e0ada","guide_preview-pdf.md":"1182152d","config_index.md":"c35b64bb","index.md":"fb9fee08","guide_preview-xlsx.md":"2a8a4b68","guide_index.md":"425949a3","guide_faq.md":"c3bde33b"} +{"index.md":"fb9fee08","guide_index.md":"425949a3","guide_preview-docx.md":"5e6e0ada","guide_preview-xlsx.md":"2a8a4b68","config_event.md":"d08100fe","config_index.md":"c35b64bb","guide_contact.md":"ced9e44d","guide_preview-pdf.md":"1182152d","guide_faq.md":"3d8a2c63"} diff --git a/examples/docs/index.html b/examples/docs/index.html index d989e8c..e3d5743 100644 --- a/examples/docs/index.html +++ b/examples/docs/index.html @@ -15,7 +15,7 @@
Skip to content

vue-office

更易用的文件预览

支持docx、xlsx、pdf文件预览

一站式

提供docx、xlsx、pdf 3种文档的在线预览方案

使用简单

只需提供文档的src即可完成文档预览,支持远程地址、ArrayBuffer、Blob多种格式

支持样式

不仅能预览内容,也支持文档样式,最大限度还原office文件内容

-