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, // 获取带签名的对象 URLQuery: {'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
相关文章:
react项目实现文件预览,比如PDF、txt、word、Excel、ppt等常见文件(腾讯云cos)
使用腾讯云文档预览,需要开通文档预览功能,该功能需要收费的。 使用限制 如果需要图片预览、视频或音频可以使用获取下载链接。 页面代码 <button onClick() > {handleClick(myself/文档.xlsx)}>预览</button><div style{{ height:…...
ES SearchAPI----Query DSL语言
文章目录 Getting Startedmatch_all查询全部sort排序from\size分页_source指定字段 match匹配查询match_phrase短语匹配multi_match多字段匹配range范围查询bool复合查询must必须匹配,可贡献得分must_not必须不匹配,可贡献得分should可有可无,…...
【STM32】HAL库——串口中断只接收到两个字符
【STM32】HAL库——串口中断只接收到两个字符 一、问题描述二、解决方法三、原因分析 一、问题描述 环境:STM32CubeMX(6.7.0)MDK-ARM(V5.36.0.0)STM32F103C8T6 使用XCOM发送字符串(总共8个字符),单片机进行解析为ModBus协议失败…...
页面html结构导出为word或pdf
一、使用场景和原理 需要将当前页面(一般详情页面)或者dom容器中的内容保存/截图,并且导出为word或者pdf 导出word:获取dom结构直接转化为word导出 导出pdf:用canvas生成当前页面或者dom范围的快照,参考截图功能,然后将生成的canvas转为pdf内…...
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 详解
解析: 理解 Object.prototype.toString.call(), instanceof, 和 Array.isArray() 是 JavaScript 中重要的类型检查工具。以下是一个较为详细的解释和示例代码,帮助你理解它们的工作原理和使用场景 Object.prototype.toString.call(): Object.prototyp…...
自学(黑客技术)方法——网络安全
如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透2.也有 Web 防…...
CVE-2023-46227 Apache inlong JDBC URL反序列化漏洞
项目介绍 Apache InLong(应龙)是一站式、全场景的海量数据集成框架,同时支持数据接入、数据同步和数据订阅,提供自动、安全、可靠和高性能的数据传输能力,方便业务构建基于流式的数据分析、建模和应用。 项目地址 h…...
MySQL几种方法的数据库备份
MySQL几种方法的数据库备份_mysql备份的几种方式-CSDN博客 MySQL有几个方法来备份 最近博客一直想写点。可是不知道写什么,感觉自己近期的知识没有什么添加,今天想到了一篇能够写的博客。曾经试过依据data目录备份MySQL。可是从来没有成功过。前几天帮助…...
CI/CD:GitLab-CI 自动化集成/部署 JAVA微服务的应用合集
CI/CD:GitLab-CI 自动化集成/部署 JAVA微服务的应用合集 CI/CD:GitLab-CI 自动化集成/部署 JAVA微服务的应用合集安装DockerGitLabGitLab-Runner阿里云容器仓库 GitLab-CIJava微服务的GitLab-CI应用 CI/CD:GitLab-CI 自动化集成/部署 JAVA微服…...
Flask 上传文件,requests通过接口上传文件
这是一个使用 Flask 框架实现文件上传功能的示例代码。该代码定义了两个路由: /upload:处理文件上传请求。在该路由中,我们首先从请求中获取上传的文件,然后将文件保存到本地磁盘上,并返回一个字符串表示上传成功。 /…...
kvm webvirtcloud 如何添加直通物理机的 USB 启动U盘
第一步:查看USB设备ID 在物理机上输入 lsusb 命令 rootubuntu:/media/usb1# lsusb Bus 002 Device 002: ID 0781:5581 SanDisk Corp. Ultra Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 0424:2514 Microchip Technolo…...
html- a标签包裹img标签, 点击图片无法跳转问题记录及解决方法
html- a标签包裹img标签, 点击图片无法跳转问题记录及解决方法 首先明确我们的目标, 就是a标签包裹的内容, 都能点击后以后直接跳转 可以通过更改html结构和css解决: <div v-for"(item, index) in newsData" :key"index" class"flexcol">&…...
Halcon转OpenCV实例--保险丝颜色识别(附源码)
导 读 本文主要介绍Halcon转OpenCV实例--保险丝颜色识别(附源码)。 实例来源 实例来源于Halcon例程color_fuses.hdev--classify fuses by color 下面是Halcon实例代码和实现效果: * color_fuses.hdev: classify fuses by colordev_update_window (off)* ***** step: set up …...
制造业中的微小缺陷检测——应用场景分析与算法选择(YoloV8/CANet)
一、缺陷检测任务 缺陷检测的任务通常可以分为三个主要阶段,包括缺陷分类、缺陷定位和缺陷分割。 1.缺陷分类 缺陷分类是检测过程的第一步,目的是将检测到的缺陷区域分类为不同的类别,通常是根据缺陷的性质或类型进行分类。分类的类别包括…...
支持多校 微信课表小程序源码 排课小程序源码 支持导入课表 情侣课表 背景设置
练手Lab课程表小程序源码是一个基于thinkphp系统进行开发的前后端分离系统。 源码功能介绍 1、情侣功能 2、情侣间留言 3、情侣间互相设置课程表背景 4、自己日、周课程表背景设置 5、教务系统课程表导入 6、导入别人分享的课表 7、导入别人分享的单课 8、多校支持 9…...
谷歌计划从Chrome119起测试IP隐私保护功能
目前,谷歌正为Chrome浏览器测试一项新的“IP保护”功能。因为该公司认为用户IP地址一旦被黑客滥用或秘密跟踪,都可能导致用户隐私信息泄露。 而这项功能可通过代理服务器屏蔽用户的IP地址,以增强用户的隐私性,这样就可以尽量在确…...
【技能树笔记】网络篇——练习题解析(九)
目录 前言 一、OSPF双栈 1.1 OSPFv3 LSA 1.2 OSPFv3 二、ISIS双栈 2.1 ISISv6 2.2 ISIS高级特性 三、BGP双栈 四、PIM双栈 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filot…...
c++ qt连接操作sqlite
qt客户端编程,用到数据库的场景不多,但是部分项目还是需要数据库来保存同步数据,客户端用到的数据库,一般是sqlite。 Qt提供了数据库模块,但是qt本身的数据库模块并不好用,会有各种问题, 建议大家不要,可以自己封装数据库的操作。本篇博客介绍qt连接操作sqlite。 sqlit…...
Qt之自定义QStringListModel设置背景色和前景色
一.效果 二.实现 QStringListModel里只实现了Qt::EditRole和Qt::DisplayRole,不能直接设置背景色和前景色,所以我们要继承QStringListModel,重写其中的data和setData方法,使其支持Qt::ForegroundRole和Qt::BackgroundRole。 QHStringListModel.h #ifndef QHSTRINGLISTMO…...
人工智能基础_机器学习001_线性回归_多元线性回归_最优解_基本概念_有监督机器学习_jupyter notebook---人工智能工作笔记0040
线性和回归,就是自然规律,比如人类是身高趋于某个值的概率最大,回归就是通过数学方法找到事物的规律. 机器学习作用: 该专业实际应用于机器视觉、指纹识别、人脸识别、视网膜识别、虹膜识别、掌纹识别、专家系统、自动规划、智能搜索、定理证明、博弈、自动程序设计、智能控制…...
OpenClaw配置备份指南:千问3.5-27B模型参数迁移技巧
OpenClaw配置备份指南:千问3.5-27B模型参数迁移技巧 1. 为什么需要备份OpenClaw配置? 上周我的主力开发机突然硬盘故障,不得不紧急更换设备。当我准备在新电脑上重新部署OpenClaw时,突然意识到一个严重问题:过去三个…...
C语言void指针与函数指针深度解析
1. 深入理解C语言中的void指针在C语言编程中,指针是最强大但也最容易让人困惑的特性之一。而void指针作为指针家族中的特殊成员,更是让许多初学者感到困惑。今天,我将结合自己多年的嵌入式开发经验,带大家彻底搞懂void指针的本质和…...
OpenClaw配置备份:Qwen3.5-9B-AWQ-4bit模型迁移与恢复指南
OpenClaw配置备份:Qwen3.5-9B-AWQ-4bit模型迁移与恢复指南 1. 为什么需要完整的配置备份 去年冬天,我的MacBook突然主板故障送修。维修期间,所有OpenClaw自动化流程全部中断——飞书会议纪要无人整理、日报生成机器人停摆、技术文档自动归档…...
Linux 的 df 命令
df (disk free) 命令是 Linux 系统中用于显示文件系统磁盘空间使用情况的常用工具。它可以报告文件系统的总容量、已用空间、可用空间以及挂载点等信息。 基本语法 df [选项] [文件或目录]常用选项 -h 或 --human-readable 以易读格式显示大小(KB, MB, GB…...
4DGL-uLCD-SE:轻量级嵌入式GUI驱动框架
1. 项目概述4DGL-uLCD-SE 是一个面向嵌入式系统设计的轻量级、可移植的图形用户界面(GUI)驱动框架,专为 4D Systems 公司推出的 uLCD 系列智能显示模块(如 uLCD-320GL, uLCD-70DT, uLCD-43PT 等)而构建。该库并非直接操…...
避坑指南:ViewPager嵌套Fragment引发内存泄漏的完整解决方案(Android 12适配版)
Android内存泄漏深度排查:从ViewPager嵌套陷阱到Heap Dump实战解析 当你的应用在连续操作后开始卡顿,内存占用曲线只升不降时,很可能正遭遇内存泄漏这个"沉默的性能杀手"。尤其在ViewPager与Fragment的嵌套场景中,错误…...
从物理到经济:定积分在5个真实场景中的应用详解(含建模步骤)
从物理到经济:定积分在5个真实场景中的应用详解(含建模步骤) 数学公式常被诟病为"纸上谈兵",但当你看到工程师用积分计算桥梁承重、经济学家用积分预测市场趋势时,就会明白这些符号背后的力量。定积分不仅是…...
Flutter系列之Dialog宽度自定义的实战技巧与避坑指南
1. 为什么你的Dialog宽度设置总是失效? 很多Flutter新手都会遇到这样的困惑:明明给Dialog的child设置了width属性,为什么显示出来还是默认的宽度?这个问题我刚开始接触Flutter时也踩过坑。其实根本原因在于Dialog组件内部使用了Co…...
2025 直播电商行业发展白皮书解读:规模、生态与规范化趋势
直播电商作为数字经济与零售业态深度融合的典型模式,近年来保持稳健增长并逐步进入规范化发展阶段。本文基于《2025 直播电商行业发展白皮书》核心内容,从行业规模、生态结构、技术应用、治理现状与发展方向等维度,对行业整体态势进行梳理与分…...
Vibe Coding 有哪些实用技巧?这篇文章讲透工作流、提示词和避坑方法
Vibe Coding 是什么?一篇讲清它的技巧、工作流与避坑方法 这两年,AI 编程工具越来越强,很多开发者开始用自然语言驱动代码生成。围绕这种开发方式,一个很火的词出现了:Vibe Coding。 简单说,Vibe Coding 就…...
