jeesite上传文件

2023-11-07

@RequestMapping(value = "saveFile")
    public String saveFile(Document document, Model model, RedirectAttributes redirectAttributes,HttpServletRequest request) {
        //转型为MultipartHttpRequest
        MultipartHttpServletRequest multipartRequest  =  (MultipartHttpServletRequest) request;  
        //获得文件
        MultipartFile pdfFile  =  multipartRequest.getFile("filename");  
        if(pdfFile.getOriginalFilename() ==null || "".equals(pdfFile.getOriginalFilename())){  
            model.addAttribute("message", "上传文件不存在。");
            document.setFiles(null);
            return this.form(document, model, redirectAttributes);
        }

        String imgName = pdfFile.getOriginalFilename();
        String suffix = imgName.substring(imgName.lastIndexOf(".")+1,imgName.length());
        if(!"pdf".equals(suffix)){
            model.addAttribute("message", "上传格式不正确");
            document.setFiles(null);
            return this.form(document, model, redirectAttributes);
        }
        String name = IdGen.uuid();
        //客户端访问路径
        String filePath = Servlets.getRequest().getContextPath() +
                Global.USERFILES_BASE_URL + "docFile" + "/" + name +"."+suffix;
        //本地保存路径
        String fileLocalPath = Global.getUserfilesBaseDir() + Global.USERFILES_BASE_URL + "docFile" + "/" + name +"."+suffix;
        //创建目录
        File saveDirFile = new File(fileLocalPath);
         if (!saveDirFile.exists()) {
             saveDirFile.mkdirs();
         }
        try {
            pdfFile.transferTo(saveDirFile);
        } catch (Exception e) {
            e.printStackTrace();
            model.addAttribute("message", "上传失败!!!");
            document.setFiles(null);
            return this.form(document, model, redirectAttributes);
        }
        document.setFiles(filePath);
        return this.form(document, model, redirectAttributes);
    }
   
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jeesite上传文件 的相关文章

  • jeesite mysql_Jeesite框架mysql数据库初始报错

    INFO Scanning for projects WARNING WARNING Some problems were encountered while building the effective model for com thi
  • jeesite中的ztree应用

    话不多说 xff0c 直接开始一二三 jeesite页面上通过以自定义jstl lt sys treeselect gt 方式引入树形选择 1 lt sys treeselect id 61 34 company 34 name 61 34
  • Jeesite框架实用 如何实现本公司内数据权限功能使用

    文章目录 前言 一 数据库中创建一张视图表 非常重要 二 创建自己的表 三 使用jeesite导入表 生成代码 四 在此表生成的 service层中 加上过滤 五 在此表生成的 controller层中查看数据处 加上过滤 六 在此表生成的
  • jeesite前端页面与后台业务逻辑数据交互

    Key Word jsp controller json model parameter request response result param ajax data success http 1 jsp中提交请求的方式有哪些 get p
  • jeesite框架介绍

    1 jeesite框架介绍 http wenku baidu com view 7e543c24e45c3b3567ec8baf html 2 jeesite开发环境搭建及部署 http wenku baidu com link url L
  • 909422229_Jeesite 列表数据自定义排序规则

    技术交流群 958923746 有学习视频 文档等 1 列表排序 假排序哦 非数据库排序 page是查询到的列表数据 Collections sort page getList new Comparator
  • jeesite框架分析理解

    前文 jeesite代码生成器的使用 实例 报销表 地址 http blog csdn net m0 38021128 article details 68490920 前文中使用了jeesite框架的代码生成功能实现了一个小实例 但是实际
  • Jeesite框架实用 查询当前用户拥有权限

    http 127 0 0 1 8980 js a authInfo
  • JEESITE4实战之旅(四) 去版权信息

    在用JEESITE4做项目的时候 我们当然不想看到系统上显示的是JEESITE的版权信息 并且还显示的是官网的链接 其实THINKGEM大神已经告诉了我们方法 只是很多人可能没有注意到 http jeesite4 mydoc io t 26
  • Jeesite 登录逻辑分析

    最近项目需求研究免登录进入jeesite系统 于是对jeesite的登录逻辑进行了研究 一 当用户从url访问jeesite系统时 首先会通过下面方法 RequestMapping value adminPath login method
  • Jeesite开发平台限制用户多点登录

    Jeesite开发平台限制用户多点登录 授权查询回调函数 进行鉴权但缓存中无用户的授权信息时调用 Override protected AuthorizationInfo doGetAuthorizationInfo PrincipalCo
  • [已解决]jeesite生成页面的弹窗问题

    jeesite生成的页面如需弹窗layer写法会有问题 actions push a href class btnList title i class fa fa check i a nbsp data confirm text 提示信息
  • JeeSite数据权限控制解决方案

    支持如下数据范围设置 所有数据 所在公司及以下数据 所在公司数据 所在部门及以下数据 所在部门数据 仅本人数据 按明细设置 特殊情况下 跨机构授权 User user UserUtils getUser 使用标准查询 DetachedCri
  • 搭建jeesite开发环境

    jeesite tomcat7 mysql eclipse maven jeesite下载路径 https github com thinkgem jeesite 下载jeesite并解压 在D 01 Projects 06 jeesite
  • jeesite快速开发平台(一)----简介

    以下内容来自官网 一 平台简介 JeeSite是基于多个优秀的开源项目 高度整合封装而成的高效 高性能 强安全性的开源Java EE快速开发平台 JeeSite是您快速完成项目的最佳基础平台解决方案 JeeSite是您想学习Java平台的最
  • Jeesite权限处理,权限分配,根据不同的用户展示不同的信息,按钮权限等

    jeesite关于权限这方面的记录或者文章很少 看官方文档又看不懂 自己的业务又需要进行权限处理 怎么办 当然问大佬了 我就记录下我的解决办法 给jeesite权限方面的文章做点贡献 我先说下我的业务逻辑 我需要实现不同公司的人登陆后台 只
  • jeesite实战(四)——用户权限

    系列文章目录 提示 这里可以添加系列文章的所有文章的目录 目录需要自己手动添加 例如 第一章 Python 机器学习入门之pandas的使用 提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一
  • jeesite学习笔记——新增一条信息时同步创建用户

    1 效果 截图 添加一条个人信息时同步创建它的用户信息 2 部分代码展示 因为要为个人同步创建 主体在 个人信息 模块 与 用户信息 添加模块无关 只会调用它的部分方法 所以所有代码都在 个人信息 模块进行操作 2 1因为操作涉及到两个数据
  • Jeesite框架实用 前端页面展示表如何插入其他表数据

    目录 前言 问题 解决方法 第一步 第二步 第三步 前言 最近做类似于OA产品时选用了Jeesite框架 也学习有一段时间 这个框架的初级操作嘛就是 设计好表然后用代码生成器生成 一张表生成一个前端页面显示 问题 代码生成器根据一张数据库表
  • 5分钟带你看懂Jeesite10大功能要点

    jeesite内容丰富 集成了大量优秀的组件 是一个值得研究的框架 它有 1 shiro安全权限控制 2 mybatis查询缓存接口扩展 3 ecache分布式缓存整合 4 页面资源缓存优化 5 多数据源灵活切换 6 mybatismapp

随机推荐

  • 邻桌为何一天就学完了SQL基础语法,数据分析必学的SQL,满满硬货

    因为开学原因 导致好久没有更新博客了 谁家大学生一周五天早八 今天这篇分享数据库操作和 SQL SQL 全称是 Structured Query Language 翻译后就是结构化查询语言 是一种数据库查询和程序设计语言 用于存取数据以及查
  • Eclipse SVN 更新报: “is too old(format10,createdbySubversion1.6)”解决方法

    原因 版本太低导致 更新一下就可以了 方法 项目上右键 Team upgrade
  • android 模拟点击localinstrumentation,android通过Instrumentation来模拟键盘点击操作

    android app Instrumentation好像原来是用来做测试的 可以用来模拟很多activity的操作 主要代码如下 package com qefee testinstrumentation import android a
  • 常用git和repo命令

    常用git和repo命令 文章收集了最近使用的一些repo和git命令 下图是个人理解的git文件状态转换图 更详细的Pro git 文档 更准确的应该是这样 相关概念 名称 意义 repo 谷歌用Python脚本写的调用git的一个脚本
  • 自动化测试_49自动化测试中最常见的Selenium异常

    自动化测试 开发人员将始终在编写代码时牢记不同的场景 但是在某些情况下 实现可能无法按预期工作 相同的原则也适用于测试代码 该代码主要用于测试现有产品的功能 发现bug并使产品100 无缺陷 正确地说 真理总是比小说更陌生 当您执行Sele
  • matlab 杨氏双缝干涉实验

    目录 一 算法原理 二 代码实现 三 结果展示 本文由CSDN点云侠原创 原文链接 如果你不是在点云侠的博客中看到该文章 那么此处便是不要脸的爬虫 一 算法原理 杨氏双缝干涉实验是利用分波振面法获得相干光束的典型例子 如图1 所示 在普通单
  • 系列:7、 Kubernetes 安全性

    Kubernetes 安全性 我们将讨论 Kubernetes 安全性 当我们在使用 Kubernetes 时 出于安全原因 我们有时会希望限制网络的访问或限制某些用户查看或运行某些命令等 为此 我们必须使用不同的 Kubernetes 概
  • 探秘app.asar

    开发过Electron客户端的都知道 在package json的build节点下 如果设置 asar true 软件打包时会把程序文件合成为一个app asar文件 软件安装后 可以在安装目录的resources子目录下找到它 packa
  • GitBash:修改GitBash主题配色和字体

    打开GitBash 使用命令 cd 然后 vi minttyrc 使用下列内容替换已有内容 Font Consolas FontHeight 13 ForegroundColour 131 148 150 BackgroundColour
  • 送书【新书】

    文末查看送书规则 Apache ECharts incubating 下文简称ECharts 是由百度捐献给Apache开源软件基金会的一个开源可视化工具 目前广泛应用于PC端和移动端的大部分浏览器 截至本书完稿时 该项目正在Apache开
  • 在Visual Studio 2019中使用Qt5.14.2并配置相关路径(含opencv/halcon)联合编程配置

    1 Qt下载安装 参考链接 https blog csdn net weixin 41977337 article details 106859728 1 QT下载 推荐下载Qt5 12 3版本 5 12为LTS长期支持版本 官方下载链接
  • Shell在日常工作中的应用实践

    作者 京东物流 李光新 1 Shell可以帮我们做什么 作为一名测试开发工程师 在与linux服务器交互过程中 大都遇到过以下这些问题 一次申请多台服务器 多台服务器需要安装相同软件 配置相同的环境 同样的操作需要重复多次 工作中经常会使用
  • std::string___CH_22

    22 1 std string and std wstring The standard library contains many useful classes but perhaps the most useful is std str
  • java对比数据库_对比不同的数据库连接的异同

    博主在学习和使用数据库连接时 遇到的问题 这个几个数据库连接究竟有什么不同 到底什么时候该使用哪个会更好一点 带着这个问题我们先去了解常见的数据库连接 1 常见的数据库连接有哪些 在我们初期学习 使用数据库时 用的最多的莫过于MySQL 简
  • 09_Redux的应用

    目录 一 什么是redux 二 redux的应用 2 1 求和案例 2 1 1 纯react版本 2 1 2 redux版本 1 测试版本 2 正式版本 三 react redux 3 1 react redux的使用 1 UI组件 com
  • Windows安装Python(图解)亲测有效!!!

    目录 1 下载Python 2 安装 2 1 自定义安装 并添加 环境变量 2 2 中间多步 Next 3 测试是否安装成功 在 Windows 上安装 Python 和安装普通软件一样简单 下载安装包以后猛击 下一步 即可 如果安装多个版
  • Zabbix的聚合图形配置

    Zabbix的聚合图形配置 一 查看现有的聚合图形 二 编辑聚合图形 三 查看编辑好的聚合图形 一 查看现有的聚合图形 二 编辑聚合图形 三 查看编辑好的聚合图形
  • C程序设计(第四版)学习笔记

    1 for语句 for fahr 0 fahr lt 300 fahr fahr 20 第一部分是初始化部分 仅在进入循环前执行一次 第二部分是条件部分 如果结果值为真 则执行循环体 此后将执行第三部分 增加步长 2 我们通常把函数定义中圆
  • Tensorflow中with tf.Session as sess 与 sess = tf.Session 的区别(学习笔记一)

    第一部分 python中with as 的用法 本文转自https blog csdn net weixin 42118374 article details 80437050 纯属为了个人收藏查阅用 如侵权 请联系删除 谢谢 结论就是 w
  • jeesite上传文件

    RequestMapping value saveFile public String saveFile Document document Model model RedirectAttributes redirectAttributes