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进行设置,如下,主要是类型与上传地址

java 复制代码
jeecg :
  # 是否启用安全模式
  safeMode: false
  # 签名密钥串(前后端要一致,正式发布请自行修改)
  signatureSecret: nbcioestar05f1c54d63749eda95f9fa6d49v442aestarnbcio
  # 本地:local\Minio:minio\阿里云:alioss
  uploadType: local
  path :
    #文件上传根目录 设置
    upload: /opt/upFiles
    #webapp文件路径
    webapp: /opt/webapp

1、后端的处理

所以在java调用的时候需要上面信息,同时调用下面的方法

java 复制代码
@Value(value = "${jeecg.path.upload}")
	private String uploadpath;

	/**
	* 本地:local minio:minio 阿里:alioss
	*/
	@Value(value="${jeecg.uploadType}")
	private String uploadType;
java 复制代码
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)"

javascript 复制代码
/* 图片预览 */
      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;
      },

或者用下面的下载方式

javascript 复制代码
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);
    },
相关推荐
脸大是真的好~2 分钟前
黑马JAVAWeb-03 SpringBootWeb-分层解耦-三层架构-@SpringBootApplication注解-IOC控制反转-DI依赖注入
java
微露清风15 分钟前
系统性学习C++-第十讲-stack 和 quene
java·c++·学习
一蓑烟雨任平生√19 分钟前
两种上传图片的方式——91张先生
java·ossinsight
凤凰战士芭比Q33 分钟前
部署我的世界-java版服务器-frp内网穿透
java·服务器
小肖爱笑不爱笑34 分钟前
2025/11/5 IO流(字节流、字符流、字节缓冲流、字符缓冲流) 计算机存储规则(ASCII、GBK、Unicode)
java·开发语言·算法
CodeCraft Studio1 小时前
PPT处理控件Aspose.Slides教程:使用Java将PowerPoint笔记导出为PDF
java·笔记·pdf·powerpoint·aspose·ppt转pdf·java将ppt导出pdf
手握风云-1 小时前
Java 数据结构第二十八期:反射、枚举以及 lambda 表达式
java·开发语言
ᐇ9591 小时前
Java Vector集合全面解析:线程安全的动态数组
java·开发语言
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 广州网红点打卡介绍网站为例,包含答辩的问题和答案
java·eclipse
程序定小飞1 小时前
基于springboot的web的音乐网站开发与设计
java·前端·数据库·vue.js·spring boot·后端·spring