当前位置: 首页 > 后端技术 > PHP

React-pdf-js插件使用base64显示图片和文件

时间:2023-03-29 19:27:38 PHP

由于公司项目需要,需要将图片和文件存入数据库,存储在本地。前端用的是react,后端是接口。只能选择Base64。方式,而且保存成各种格式也很方便。1、可以在React下点击react-pdf-js安装官网,里面有安装方法的使用说明。2、然后页面显示如下:importimportPDFfrom'react-pdf-js';exportdefaultclassDocumentextendsComponent{constructor(){super();this.state={}}onDocumentComplete=(pages)=>{console.log(pages);//总页数this.setState({page:1,pages});}handlePrevious=()=>{this.setState({page:this.state.page-1});}handleNext=()=>{this.setState({page:this.state.page+1});}render(){//翻页constpagination=(previous,next)=>{letpreviousButton=Previous;if(previous===1){previousButton=;}letnextButton=下一页;if(previous===next){nextButton=;}返回<跨度>{previousButton}{nextButton}页{previous}共{next}页;}return()}}然后我页面的某些部分没有关注他的官方网站。我自己写的,因为我觉得官网写的太多了。可以参考一下3.React使用base64显示图片。由于我是做PHP的,所以后台界面和前端都是自己写的。这里我只介绍PHP的方法。我也在网上看到了一些方法。不知道为什么那些人写的那么麻烦,一句题,写了一大片,还是有问题。代码如下:后台代码:$fileHandle=fopen($thumbImageFile,"r");//打开文件$file_datas=fread($fileHandle,filesize($thumbImageFile));//读取文件$thumbnail=chunk_split(base64_encode($file_datas));转成base64,直接使用chunk_split(base64_encode(readpicture));直接转成base64保存到数据库,然后React会显示//imageSrc是从数据库中取出图片字段的数据如果想直接显示pdfapplication/pdf;basa64,...但是个人不推荐pdf使用这种方式,因为pdf转成这种格式后,将比您上传的文件大8倍。即上传1M,数据库存为8M。如果上传100M,200M有点吓人。这对性能不利。图片的大小没有变化。对于PDF,可以使用其他方法,可以单独写一个接口直接输出什么也很简单,方法如下:header("Content-type:".$type.";charset=utf-8");header('Access-Control-Allow-Headers:Origin,No-Cache,X-Requested-With,If-Modified-Since,Pragma,Last-Modified,Cache-Control,Expires,Content-Type,X-E4M-With,授权');header('Access-Control-Allow-Origin:*');echo$data;unset($rs);输入ID查询数据,然后按上面的方式显示,$type是application等类型/pdf,$data是数据,其他的是跨域添加的。那就把这个链接直接放在pdf文件后面就行了,也很方便。