当前位置: 首页 > news >正文

沈阳网站建设技术支持seo百度首页排名业务

沈阳网站建设技术支持,seo百度首页排名业务,中企动力电话号码,网站备案拍照幕布思路:后端提供接口,从minio获取文件的预览链接,返回给前端,前端使用组件进行渲染展示 这里我从minio获取文件预览地址用到了一个最近刚开源的项目,挺好用的,大伙可以试试,用法也很简单 官网&am…

思路:后端提供接口,从minio获取文件的预览链接,返回给前端,前端使用组件进行渲染展示

  1. 这里我从minio获取文件预览地址用到了一个最近刚开源的项目,挺好用的,大伙可以试试,用法也很简单
    官网:https://x-file-storage.xuyanwu.cn/#/
    Gitee:https://gitee.com/dromara/x-file-storage?_from=gitee_search
<dependency><groupId>org.dromara.x-file-storage</groupId><artifactId>x-file-storage-spring</artifactId><version>2.1.0</version>
</dependency>dromara:x-file-storage:default-platform: minio-1 # 默认存储平台minio:- platform: minio-1 # 存储平台标识enable-storage: true  # 启用存储access-key: vsrfrBr3maUFmserLMp9secret-key: i2ehAdnwos1eWu0ZNqkMgJdhsGZSF8PSp03mG86xend-point: http://XXX.XXX.XXX.XXX:9000bucket-name: filedomain: ?? # 访问域名,注意“/”结尾,例如:http://minio.abc.com/abc/base-path:  # 基础路径
  1. 以下是后端接口主要逻辑,把viewUrl给前端返回就行,格式类似于,文件名后面拼接着认证信息什么的,后端工作到这里就完成了
    “http://XXX.XXX.XXX.XXX:9000/file/65c416eecc50d2508a5fb86b.docx?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=vsrfrBr3maUFmserLMp9%2F20240208%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240208T025942Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=b31d4ce4142bb0626f6e45a9448255124c125bf4f2e6e2be506e4f736909dadc”
@Autowired
private FileStorageService fileStorageService;// 上传到minio返回的文件名称
String minioName = sysFile.getMinioName();
FileInfo fileInfo = new FileInfo().
setPlatform("minio1").setFilename(minioName);
// 获取一周后的时间作为过期时间
DateTime dateTime = DateUtil.offsetWeek(DateUtil.date(), 1);
String viewUrl = fileStorageService.generatePresignedUrl(fileInfo, dateTime);
// 把文件名放进响应头,前端获取文件后缀需要用
response.setHeader("Content-Disposition", "attachment;filename=" +  URLEncoder.encode(minioName, "utf8"));
  1. 下面开始前端工作,找到一个渲染的组件,react-file-viewer
  2. yarn add react-file-viewer
  3. 核心代码,fileType(文件类型,比如:docx、pdf等等),filePath(文件的下载地址)这两个属性是必需的
<FileViewerfileType={fileViewType}filePath={fileViewUrl}errorComponent={CustomErrorComponent}onError={onError}style={{ width: "100%" }}
/>
  1. 文件类型可以从响应头中拿到
const content = response.headers["content-disposition"].split("=");
const fileName = decodeURI(content[1]); // 设置下载的文件名
const ext = getFileExtension(fileName);
setFileViewType(ext);// 获取文件名中的后缀
function getFileExtension(fileName: string): string {/*只获取后缀*/var suffix = fileName.substring(fileName.lastIndexOf(".") + 1); //txtreturn suffix;
}
  1. 看看效果,两个按钮是antdv 的 Modal组件带的
    在这里插入图片描述

  2. 恭喜你,至此已经完成

  3. 多提一嘴,x-file-storage用来上传下载也很方便

// 上传
FileInfo upload = fileStorageService.of(multipartFile).upload();
// 下载
FileInfo fileInfo = new FileInfo()
.setPlatform("minio-1").setFilename(sysFile.getMinioName());
Downloader download = fileStorageService.download(fileInfo);
http://www.yayakq.cn/news/641068/

相关文章:

  • 台州网站公司那里好天津建设工程信息网招聘
  • 138ip地址查询网站wordpress优化版
  • 深圳专业做网站排名多少钱网站域名后缀区别
  • 优秀的网站建设自己做的网站怎么实现结算功能
  • 做一个跨境电商网站建网站的软件 优帮云
  • 网站免费建站众享星球广告设计与制作需要学什么专业
  • 做网站微信公众号西安工程建设信息网站
  • 推荐做流程图的网站百度公司全称
  • pc网站建设怎么做网站建设中存在的问题
  • 网站深圳网站升级应注意的问题
  • 京东网站哪个公司做的越秀金融大厦北塔
  • 在线建设网站制作腾讯网页游戏平台
  • 国外建站 网站 推荐wordpress支持多少字
  • 助农网站策划书页面跳转不了
  • 湖南官网网站推广软件wordpress 地图菜单
  • 什么网站可以做任务领赏金wordpress app 服务端
  • 个人资料库网站怎么做宁波seo教程app推广
  • 百度网站优化公司为什么做这个网站反馈问题
  • 天门市住房和城乡建设局网站山西网站开发建设
  • 静态网站建设实训报告深圳市房地产信息系统平台
  • 北京建网站的做网站空间费用是什么意思
  • 怎么弄一个网站平台展示网站多少钱一个
  • 网站集约化建设存在的困难百度搜索网站带图片
  • 如何建设网站兴田德润可信赖部署wordpress
  • 网站开发建设费用广州网站建设出名 乐云践新
  • 个人可否建立网站青浦网站建设
  • 河南网站制作工作室苏州网络推广公司哪家好
  • 深圳房地产网站开发网站制作专业的公司有哪些
  • 海南省住房与城乡建设厅网站云南房产网站建设
  • 工信部网站icp备案查询校园文化网站建设