react项目实现文件预览,比如PDF、txt、word、Excel、ppt等常见文件(腾讯云cos)

使用腾讯云文档预览,需要开通文档预览功能,该功能需要收费的。

使用限制
在这里插入图片描述

在这里插入图片描述

如果需要图片预览、视频或音频可以使用获取下载链接。

页面代码

	<button 
		onClick=() => {
		handleClick('myself/文档.xlsx')
		}>
	预览</button>
      <div style={{ height: 400, width: 700 }}>
        <iframe height={400} width={700}
          src={preurl}
        >
        </iframe>
      </div>
const [preurl,setPreurl] = useState('')

const handleClick = (key) => {
	getPreUrl(key).then((res) => {
	setPreurl(res);
})

}

使用cos获取预览文档链接

let COS = require('cos-js-sdk-v5');

const COS_DATA = {
  Bucket: '', /* 存储桶,必须 */
  Region: 'ap-shanghai', /* 存储桶所在地域,必须字段 */
  SecretId: '',
  SecretKey: '',
}


// SECRETID 和 SECRETKEY 请登录 https://console.cloud.tencent.com/cam/capi 进行查看和管理
let cos = new COS({
  SecretId: COS_DATA.SecretId,
  SecretKey: COS_DATA.SecretKey,
});


export const getPreUrl = (key) => new Promise((resolve, reject) => {
  cos.getObjectUrl(
    {
      Bucket: COS_DATA.Bucket, // 填入您自己的存储桶,必须字段
      Region: COS_DATA.Region, // 存储桶所在地域,例如 ap-beijing,必须字段
      Key: key, // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段
      Sign: true, // 获取带签名的对象 URL
      Query: {
        'ci-process': 'doc-preview', /* 必须,数据万象处理能力,文档预览固定为 doc-preview */
        dstType: 'html',
      }
    },
    function (err, data) {
      if (err) { 
        reject(err);
      }
      resolve(data.Url);
    }
  );
});

在这里插入图片描述
文档图片预览:https://bucketname.cos.ap-shanghai.myqcloud.com/filename?ci-process=doc-preview&page=1

详情可查看 文档图片预览API文档

文档HTML预览:https://bucketname.cos.ap-shanghai.myqcloud.com/filename?ci-process=doc-preview&dstType=html,详情可查看 文档HTML预览API文档

更详细内容查看https://cloud.tencent.com/document/product/460/47495

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 Vue 中预览 Word 文件Excel 文件,可以通过引入第三方插件实现。 1. 首先,需要安装并引入 `office-ui-fabric-js` 和 `office-ui-fabric-react` 这两个依赖库。 ```bash npm install office-ui-fabric-js office-ui-fabric-react --save ``` 2. 然后,可以通过 `office-ui-fabric-react` 提供的 `DocumentCard` 和 `DocumentCardPreview` 组件来实现 WordExcel 文件预览。需要注意的是,这两个组件需要在 `componentDidMount` 生命周期中加载。 ```vue <template> <div> <DocumentCard> <DocumentCardPreview previewImages={[ { previewIconProps: { iconName: 'WordDocument' }, previewProps: { previewFileType: PreviewFileType.Document, previewFileUrl: 'http://example.com/word.docx' } } ]} /> </DocumentCard> <DocumentCard> <DocumentCardPreview previewImages={[ { previewIconProps: { iconName: 'ExcelWorkbook' }, previewProps: { previewFileType: PreviewFileType.Document, previewFileUrl: 'http://example.com/excel.xlsx' } } ]} /> </DocumentCard> </div> </template> <script> import { DocumentCard, DocumentCardPreview, PreviewFileType } from 'office-ui-fabric-react' export default { name: 'FilePreview', mounted () { require('office-ui-fabric-js/dist/css/fabric.min.css') require('office-ui-fabric-js/dist/css/fabric.components.min.css') }, components: { DocumentCard, DocumentCardPreview } } </script> <style scoped> /* 样式可以根据需求自行修改 */ </style> ``` 3. 最后,需要在后端将 WordExcel 文件转换为 PDF 格式,然后在前端通过 `iframe` 标签来展示 PDF 文件。 ```vue <template> <div> <iframe :src="pdfUrl" frameborder="0" width="100%" height="600"></iframe> </div> </template> <script> export default { name: 'FilePreview', data () { return { pdfUrl: '' } }, mounted () { this.getPdfUrl() }, methods: { getPdfUrl () { // 从后端获取 PDF 文件的 URL // ... this.pdfUrl = 'http://example.com/file.pdf' } } } </script> <style scoped> /* 样式可以根据需求自行修改 */ </style> ``` 以上是两种实现 WordExcel 文件预览的方法,可以根据自己的需求选择合适的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值