nbcio-boot项目的文件上传与回显处理方法
更多ruoyi-nbcio功能请看演示系统
gitee源代码地址
前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio
演示地址:RuoYi-Nbcio后台管理系统
更多nbcio-boot功能请看演示系统
gitee源代码地址
后端代码: https://gitee.com/nbacheng/nbcio-boot
前端代码:https://gitee.com/nbacheng/nbcio-vue.git
在线演示(包括H5) : http://122.227.135.243:9888
· 基于jeecgboot的nbcio-boot里面有涉及文件的上传与回显或下载,里面很多模块都有这方面的需求,所以这里统一对这部分做说明。
因为支持本地与OSS的文件上传与处理,所以这里主要进行本地与其它类型的区分
在yml进行设置,如下,主要是类型与上传地址
jeecg :# 是否启用安全模式safeMode: false# 签名密钥串(前后端要一致,正式发布请自行修改)signatureSecret: nbcioestar05f1c54d63749eda95f9fa6d49v442aestarnbcio# 本地:local\Minio:minio\阿里云:aliossuploadType: localpath :#文件上传根目录 设置upload: /opt/upFiles#webapp文件路径webapp: /opt/webapp
1、后端的处理
所以在java调用的时候需要上面信息,同时调用下面的方法
@Value(value = "${jeecg.path.upload}")private String uploadpath;/*** 本地:local minio:minio 阿里:alioss*/@Value(value="${jeecg.uploadType}")private String uploadType;
if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)){uploadPath = CommonUtils.uploadLocal(FileUtil.getMultipartFile(imageFile),"/bs",uploadpath);}else{uploadPath = CommonUtils.upload(FileUtil.getMultipartFile(imageFile), "/bs", uploadType);}
这样可以返回上传的地址,以便保存到数据库里。
2、前端的处理
前端图片显示的时候需要进行转换,如:src="getImgView(file_url)",
:href="downloadFile(file_url)"
/* 图片预览 */getImgView(text){if(text && text.indexOf(",")>0){text = text.substring(0,text.indexOf(","))}return getFileAccessHttpUrl(text)},downloadFile(text){if(!text){this.$message.warning("未知的文件")return;}if(text.indexOf(",")>0){text = text.substring(0,text.indexOf(","))}let url = getFileAccessHttpUrl(text)return url;},
或者用下面的下载方式
downloadFile(text){if(!text){this.$message.warning("未知的文件")return;}if(text.indexOf(",")>0){text = text.substring(0,text.indexOf(","))}let url = getFileAccessHttpUrl(text)window.open(url);},
相关文章:
nbcio-boot项目的文件上传与回显处理方法
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/n…...
《动手学深度学习》学习笔记 第9章 现代循环神经网络
本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知识,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…...
「HDLBits题解」Vector100r
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码 以提供参考 各位可同时参考我的代码和官方题解代码 或许会有所收益 题目链接:Vector100r - HDLBits module top_module( input [99:0] in,output [99:0] out );integer i ; always (*) beginfor (i 0 ; i <…...
如何制作专业商业画册,提升品牌形象
随着市场竞争的日益激烈,商业画册作为展示企业形象和产品特点的重要载体,越来越受到企业的重视。然而,如何制作一份专业、有吸引力的商业画册,提升品牌形象呢? 在制作商业画册之前,首先要明确目标受众。根…...
vim升级和配置
vim升级和配置 1、背景2、环境说明3、操作3.1 升级VIM3.2 配置VIM3.2.1、编辑vimrc文件3.2.2、安装插件 1、背景 日常工作跟linux系统打交道比较多,目前主要用到的是Cenots7和Ubuntu18这两个版本的linux系统,其中Centos7主要是服务器端,Ubun…...
java通过okhttp方式实现https请求的工具类(绕过证书验证)
目录 一、引入依赖包二、okhttp方式实现的https请求工具类2.1、跳过证书配置类2.2、okhttp方式的 https工具类 三、测试类 一、引入依赖包 引入相关依赖包 <!--okhttp依赖包--> <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>…...
mysql定时备份shell脚本和还原
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言数据库备份分类mysqldump命令备份计划1.每日备份,保留30天备份文件2.每月1号备份,保留12个月备份文件 定时调度还原总结 前言 数据库备…...
DevOps搭建(十六)-Jenkins+K8s部署详细步骤
1、整体部署架构图 2、编写脚本 vi pipeline.yml apiVersion: apps/v1 kind: Deployment metadata:namespace: testname: pipelinelabels:app: pipeline spec:replicas: 2selector:matchLabels:app: pipelinetemplate:metadata:labels:app: pipelinespec:containers:- nam…...
WaitForSingleObject 函数的诸多用途与使用场景总结
目录 1、WaitForSingleObject函数详细说明 2、在线程函数中调用WaitForSingleObject实现Sleep,可立即退出Sleep状态 3、调用WaitForSingleObject函数监测线程或进程是否已经退出 3.1、子进程实时监测主进程是否已经退出,主进程退出了,则子…...
4、Redis高并发分布式锁实战
引言 在分布式系统中,保证数据的一致性和避免竞争条件是至关重要的。分布式锁是一种常用的机制,而Redis作为一款高性能的内存数据库,提供了简单而强大的分布式锁方案。本文将深入探讨如何利用Redis高并发分布式锁来解决分布式系统中的并发控…...
matlab subs 函数计算太慢
来源 计算机器人 transformation matrix 相关内容时,对于关节角度进行离散,循环计算很慢,随着角度划分越来越细,怎么提高速度是一个问题。 最优解决方法 fun_handle matlabFunction(T_t2b_RPY_tmp);T_t2b_RPY_tmp是 transform…...
如何确保网络传输的安全性和稳定性?
随着互联网的普及和数字化时代的到来,网络传输已经成为我们日常生活中不可或缺的一部分。无论是发送邮件、浏览网页、在线支付还是进行视频通话,都需要通过网络进行数据传输。然而,网络传输的安全性和稳定性问题也日益突出,如何确…...
鸿蒙应用开发学习:改进小鱼动画实现按键一直按下时控制小鱼移动和限制小鱼移出屏幕
一、前言 近期我在学习鸿蒙应用开发,跟着B站UP主黑马程序员的视频教程做了一个小鱼动画应用,UP主提供的小鱼动画源代码仅仅实现了移动组件的功能,还存在一些问题,如默认进入页面是竖屏而页面适合横屏显示;真机测试发现…...
紫光展锐5G扬帆出海 | Blade系列勇当拉美5G先锋
5G对拉丁美洲(简称“拉美”)绝大多数消费者来说还是一个新鲜技术。GSMA报告显示,过去五年,拉美运营商在移动网络方面的资本开支大部分用于部署4G网络。但在5G网络方面拉美也在积极大力投入中,紧跟全球5G发展大潮&#…...
如何设计一个高并发系统?
所谓高并发系统,是指能同时处理大量并发请求,并及时响应,从而保证系统的高性能和高可用 那么我们在设计一个高并发系统时,应该考虑哪些方面呢? 1. 搭建集群 如果你只部署一个应用,只部署一台服务器&…...
基于WebRTC技术的EasyRTC视频云服务系统在线视频客服解决方案
一、需求分析 随着互联网技术的发展,视频客服也成为服务行业的标配体验,基于WebRTC实时通信技术,客服人员与用户可以建立实时双向的视频交互与沟通。借助视频客服功能可以更加直观地了解用户的需求,提高沟通效率,并帮…...
黑马程序员——2022版软件测试——乞丐版——day04
目录: html介绍 前端三大核心html骨架标签注释标签 标题:h1~h6段落:p超链接a图片空格与换行布局标签列表input标签form标签作业 1.html介绍 前端三大核心 html:超文本标记语言,由一套标记标签组成标签: 单标签&…...
uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -创建图文投票实现
锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…...
Spring系列学习九、Spring MVC的使用
Spring MVC的使用 一、MVC设计模式概述二、Spring MVC的工作原理三、HandlerMapping和ViewResolver四、 处理表单、文件上传和异常处理五、前端页面(View)编写1. 引入Thymeleaf模板引擎2.页面相关的示例代码3.后端处理代码编写 六、总结 本章我们将与大家…...
开源内容管理系统Wagtail本地安装运行并结合内网穿透实现公网访问
文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统…...
告别单片机中文乱码:一份超实用的GB2312/UTF-8互转代码库使用与优化指南
告别单片机中文乱码:GB2312/UTF-8编码转换实战优化手册 第一次在STM32上看到LCD屏幕显示"浣犲ソ"而不是"你好"时,我就知道遇到了编码转换的经典问题。中文字符在嵌入式系统中的处理,就像在钢丝上跳舞——稍有不慎就会跌入…...
3步配置FlexASIO:让普通电脑也能享受专业级低延迟音频体验
3步配置FlexASIO:让普通电脑也能享受专业级低延迟音频体验 【免费下载链接】FlexASIO A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME. 项目地址: https://gitc…...
FPGA上跑CNN,PS和PL怎么分工效率最高?以LeNet-5数字识别项目为例,聊聊软硬件协同设计
FPGA上部署LeNet-5的软硬件协同设计实战:从架构拆解到性能调优 在边缘计算场景中,FPGA凭借其并行计算能力和低功耗特性,成为轻量级CNN部署的理想载体。当我们使用Zynq这类PSPL异构平台时,如何合理划分软硬件任务、优化数据通路&am…...
告别硬开关!用LLC谐振变换器实现ZVS/ZCS的保姆级原理拆解(附三种工作模式对比)
告别硬开关!用LLC谐振变换器实现ZVS/ZCS的保姆级原理拆解(附三种工作模式对比) 在电源设计领域,工程师们永远在追求更高的效率和更小的体积。传统硬开关技术带来的开关损耗和EMI问题,已经成为制约电源模块性能提升的瓶…...
架构解析:QMCDecode高效音频转换引擎的深度应用
架构解析:QMCDecode高效音频转换引擎的深度应用 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结果…...
构建具备长期记忆能力的 AI Agent Harness Engineering 指南
从零到一构建具备长期记忆能力的AI Agent:Harness Engineering 全链路实践指南 副标题:从记忆原理、架构设计到生产落地的完整方法论 摘要/引言 你有没有遇到过这样的场景:你花了半小时给AI助理讲了你对猫毛过敏、乳糖不耐受、喜欢住安静的高楼层酒店,过了一周再让它帮你…...
不完备数据深度学习列车轮对轴承故障识别实现【附代码】
✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,查看文章底部二维码(1)条件变分自编码器生成对抗网络的小样本数据增强&am…...
拼多多运营资源合集
拼多多运营教程 文件大小: 1.8GB内容特色: 1.8GB实战文件夹,含拼多多店铺起量全流程适用人群: 电商创业者、拼多多运营新人核心价值: 快速掌握选品、推广、数据复盘技巧,提升GMV下载链接: https://pan.quark.cn/s/f38b593a1ada 拼多多最新运营实战课程…...
SYSSPEC框架:规范驱动文件系统开发新范式
1. 文件系统开发的范式革命:从手工编码到规范驱动在操作系统领域,文件系统始终扮演着数据持久化的关键角色。传统开发模式下,开发者需要直接面对底层存储硬件的复杂性,同时还要满足上层应用不断变化的需求。这种双重压力使得文件系…...
PaperClaw:为科研团队构建AI驱动的知识协作与合成工作流
1. 项目概述:为科研团队构建AI驱动的知识协作层 如果你在实验室或跨机构的科研团队里待过,一定对这样的场景不陌生:新来的博士生面对海量文献无从下手;团队讨论时,大家引用的文献版本不一,甚至结论矛盾&am…...
