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

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

使用限制

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

页面代码

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

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

}

使用cos获取预览文档链接

cpp 复制代码
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://cloud.tencent.com/document/product/460/47495

相关推荐
小高0071 小时前
🔥🔥🔥TypeScript 7 正式版来了:别只看 10 倍速度,这 4 个迁移坑更值得注意
前端·javascript·面试
di24k24k2 小时前
多个 el-form 共用同一 ref 导致表单校验部分失效
前端·javascript·vue.js·elementui
JKooll2 小时前
WPS 表格 DISPIMG 函数实战:用 JavaScript 将图片真正嵌入单元格
javascript·wps
晴天163 小时前
Rust 快速入门 (从 JavaScript 开发者视角)-Day09
开发语言·javascript·rust
其美杰布-富贵-李3 小时前
第 6 篇:相机与 OrbitControls
前端·javascript·three.js
阿黎梨梨4 小时前
从“能用”到“好维护”:React + TypeScript 实战指南
react.js
无人生还4 小时前
从 Vue3 到 React · 快速上手系列第 11 篇:状态管理
前端·vue.js·react.js
GuWenyue4 小时前
90%前端写React TS都踩坑!一套父子组件+Hooks完整实战,彻底搞懂类型约束
前端·react.js
Hilaku4 小时前
当 AI 一天写完一周的代码,我们还剩什么优势?
前端·javascript·程序员
无责任此方_修行中5 小时前
换个版本号就能升级?可没那简单:pnpm 11 升级踩坑记
javascript·后端·npm