react展示各类型文件,音乐类型,视频类型,图片类型,pdf类型,html,txt ,word

该文章介绍对于不同类型文件的处理。
文件均已HTTP请求方式
这里需要注意的是’xls’, ‘xlsx’, ‘doc’, ‘docx’ 处理 是转译 转成了PDF 小伙伴们需要和后端协调

import ReactAudioPlayer from 'react-audio-player';
import { Player } from 'video-react';

import ViewHTML from '@/components/viewHTML/ViewHTML.jsx';  //文件处



                    {item.suffix.indexOf('cda') > -1 ||
                      item.suffix.indexOf('mp3') > -1 ||
                      item.suffix.indexOf('wav') > -1 ||
                      item.suffix.indexOf('aif') > -1 ||
                      (item.suffix.indexOf('mpeg') > -1 && (
                        <ReactAudioPlayer src={'/api/original?id=' + item.id} autoPlay             controls style={{ width: '100%' }} />
                      ))}

                    {item.suffix.indexOf('avi') > -1 ||
                      item.suffix.indexOf('mp4') > -1 ||
                      item.suffix.indexOf('mov') > -1 ||
                      item.suffix.indexOf('asf') > -1 ||
                      item.suffix.indexOf('flv') > -1 ||
                      item.suffix.indexOf('rmvb') > -1 ||
                      item.suffix.indexOf('3gp') > -1 ||
                      item.suffix.indexOf('wmv') > -1 ||
                      (item.suffix.indexOf('mkv') > -1 && (
                        <Player>
                          <source src={'/api/original?id=' + item.id + '&watermark=' + this.state.watermark} />
                        </Player>
                      ))}

                    {item.suffix.indexOf('JPG') > -1 ||
                      item.suffix.indexOf('PNG') > -1 ||
                      item.suffix.indexOf('JPEG') > -1 ||
                      item.suffix.indexOf('TIF') > -1 ||
                      item.suffix.indexOf('TIFF') > -1 ||
                      item.suffix.indexOf('jpg') > -1 ||
                      item.suffix.indexOf('png') > -1 ||
                      item.suffix.indexOf('jpeg') > -1 ||
                      item.suffix.indexOf('tif') > -1 || item.suffix.indexOf('tiff') > -1 ?
                      <img style={{ height: '650px' }} src={'/api/original?id=' + item.id + '&watermark=' + this.state.watermark} />
                      : ''}

                    {['txt', 'html'].includes(item.suffix.toLowerCase()) && (
                      <div
                        style={{ zIndex: '1' }}
                        ref="iframe"
                        frameBorder="0"
                        src={'/api/original?id=' + item.id + '&watermark=' + this.state.watermark}
                        style={{ width: '100%', height: '700px' }}
                      >
                        <ViewHTML url={`/api/original?id=${item.id}&watermark=${this.state.watermark}`} />
                      </div>
                    )}

                    {['xls', 'xlsx', 'doc', 'docx'].includes(item.suffix.toLowerCase()) && (
                      <OnlyOffice fileType={item.suffix} fileUrl={`/api/originals/showOriginal?id=${item.id}`} />
                    )}

                    {item.suffix.toLowerCase().indexOf('pdf') > -1 && (
                      <div>
                        <iframe
                          style={{ zIndex: '1' }}
                          ref="iframe"
                          frameBorder="0"
                          src={
                            `pdfjs/web/viewer.html?file=` + '%2fapi%2foriginal%3fid%3d' + item.id + '%26watermark%3d' + this.state.watermark
                          }
                          width="85%"
                          height="700px"
                        />
                        <iframe
                          src={`/api/originals/showOriginal?id=${item.id}`}
                          id={`printIframe` + item.id}
                          frameBorder="0"
                          style={{ display: 'none' }}
                        />
                      </div>
                    )}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值