Jeesite4本地及服务器上传文件、图片详解

简介: Jeesite4本地及服务器上传文件、图片详解

你们的老朋友小Q又回来了,最近一段时间忙于公司项目开发,又加上过年比较忙,所以没能留出时间更新内容,大家是不是有点着急了?公司最近在使用jeesite4开发项目,我呢,对这个框架一点也不熟悉,遇到问题都是现查现用。这不,在上传文件与上传图片这直接给卡死了。百度google了好久也没能找到解决办法,经过咨询开发者ThinkGem先生,总算找到了解决方案。所以呢,为了让以后使用jeesite4的同志们少走一点弯路,所以我就将自己的采坑之路给大家简单总结一下,希望对你们有所帮助。

首先呢,先给大家介绍一下jeesite4本地上传文件以及图片给大家提供的组件属性:

fileupload 文件上传:

1、文件上传:

<#form:fileupload id="upload1" bizKey="${user.id}" bizType="user_upload1"

   uploadType="all"class="required"readonly="false"/>

后台代码:FileUploadUtils.saveFileUpload(user.getId(), "user_upload1");

2、图片上传:

<#form:fileupload id="upload2" bizKey="${user.id}" bizType="user_upload2"

   uploadType="image"class="required"readonly="false"/>

后台代码:FileUploadUtils.saveFileUpload(user.getId(), "user_upload2");

3、返回路径:

<#form:fileupload id="upload3" returnPath="true"

   filePathInputId="upload3Path"fileNameInputId="upload3Name"

   uploadType="image"readonly="false"maxUploadNum="3"isMini="false"/>

<#form:input name="upload3Path" class="form-control"/>

<#form:input name="upload3Name" class="form-control"/>

组件属性:
var p = {
   // 标签参数
   id: id!,                    // 元素ID
   bizKey: bizKey!,            // 业务表的主键值(与附件关联的业务数据)
   bizType: bizType!,          // 业务表的上传类型(全网唯一,推荐格式:实体名_上传类型,例如,文章图片:article_photo)
   returnPath: @ObjectUtils.toBoolean(returnPath!false),  // 是否是返回文件路径到输入框(默认false),可将路径直接保存到某个字段里
   filePathInputId: filePathInputId!,  // 设置文件URL存放的输入框的ID,当returnPath为true的时候,返回文件URL到这个输入框
   fileNameInputId: fileNameInputId!,  // 设置文件名称存放的输入框的ID,当returnPath为true的时候,返回文件名称到这个输入框
   uploadType: uploadType!'',          // 上传文件类型:all、file、image、media,若不设置,则自动根据上传文件后缀获取
   class: class!'',                    // 标签框的CSS类名,设置 required 加入必填验证
   readonly: @ObjectUtils.toBoolean(readonly!false),      // 是否只读模式,只读模式下为查看模式,只允许下载
   allowSuffixes: allowSuffixes!'',   // 允许上传的后缀,前台的限制,不能超越file.*AllowSuffixes的设置,例如:.jpg,.png,
   maxUploadNum: @ObjectUtils.toInteger(maxUploadNum!300),    // 多文件下允许最多上传几个,默认300个,设置-1代表不限制
   imageMaxWidth: @ObjectUtils.toInteger(imageMaxWidth!1024),  // 图片压缩,最大宽度(uploadType为image生效),设置-1代表不做任何处理
   imageMaxHeight: @ObjectUtils.toInteger(imageMaxHeight!768),// 图片压缩,最大宽度(uploadType为image生效),设置-1代表不做任何处理
   isLazy: @ObjectUtils.toBoolean(isLazy!false),              // 设置为ture需要点击上传按钮才上传文件,否则选择后就直接上传
   isMini: @ObjectUtils.toBoolean(isMini!false),              // 是否是精简上传窗口,无边距,无边框
   preview: preview!'',                                        // 是否显示预览按钮,接受参数:weboffice
};

上边的属性呢,我先介绍一下我用到的几个比较特殊的,要想获取上传文件的路径的话得设置filePathInputId的值即文件URL存放的输入框的id为upload(自定义),然后将returnPath属性设置为true,这样的话文件URL就返回到id为upload的输入框里了。fileNameInputId同理。

然后给大家介绍一下jeesite4上传文件到服务器的步骤与方法:

1,要创建工具类继承FileUploadServiceExtendSupport类,添加@Service注解,并且重写里边的uploadFile(FileEntity fileEntity)和getFileUrl(FileUpload fileUpload)方法。

2,uploadFile(FileEntity fileEntity)方法中的FileEntity类是上传文件或图片的对照类,通过

String path = fileEntity.getFileRealPath();
File file=new File(path);

获取到上传文件的file对象,然后去完成自己的上传服务器的逻辑。

3,getFileUrl(FileUpload fileUpload)方法是获取到上传文件成功之后返回的服务器路径,在这个方法中去写你得到服务器路径的逻辑。

4,特别注意的是bizKey和bizType属性,这两个属性不去掉会读取file表的数据,去掉会读取你指定的隐藏域数据。我之前对这个没理解透彻,导致图片数据回显出现问题。

好了今天就先说到这了,想了解更多学习知识,请关注微信公众号“阿Q说”,获取更多学习资料吧!你也可以后台留言说出你的疑惑,阿Q将会在后期的文章中为你解答。每天学习一点点,每天进步一点点。


相关文章
|
2月前
|
缓存 网络协议 数据可视化
WinSCP下载安装并实现远程SSH本地服务器上传文件
WinSCP下载安装并实现远程SSH本地服务器上传文件
|
4月前
Socket网络编程练习题三:客户端上传文件到服务器
Socket网络编程练习题三:客户端上传文件到服务器
|
存储 Java 应用服务中间件
SpringBoot 存储图片 tomcat服务器存图片 数据库图片路径
SpringBoot 存储图片 tomcat服务器存图片 数据库图片路径
482 0
SpringBoot 存储图片 tomcat服务器存图片 数据库图片路径
|
11天前
|
小程序 开发者
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
15 0
|
7月前
|
存储 网络安全 数据安全/隐私保护
scp上传文件到远程服务器,如何避免每次都要输入远程服务器的密码
scp上传文件到远程服务器,如何避免每次都要输入远程服务器的密码
113 0
|
5月前
|
数据采集 安全 Java
Kotlin+Apache HttpClient+代理服务器=高效的eBay图片爬虫
本文将为你介绍一种高效的eBay图片爬虫的实现方式,让你可以用Kotlin+Apache HttpClient+代理服务器的组合来轻松地下载eBay的图片。
Kotlin+Apache HttpClient+代理服务器=高效的eBay图片爬虫
|
5月前
|
应用服务中间件 开发工具 Android开发
Tomcat配置虚拟路径,使上传文件与服务器分离
Tomcat配置虚拟路径,使上传文件与服务器分离
58 0
|
6月前
|
前端开发 JavaScript
uniapp上传图片至服务器,获得在线图片链接预览(实战)
uniapp上传图片至服务器,获得在线图片链接预览(实战)
257 0
|
6月前
|
前端开发
React基础语法03-引入本地图片和服务器图片的方法
React基础语法03-引入本地图片和服务器图片的方法
47 0
|
7月前
|
JSON C# 数据格式
.net core 上传文件到本地服务器
## 1、本文是上传文件到本地服务器,主要以作者做的业务上传apk为例子,下面直接上代码 ```csharp [HttpGet, HttpPost, HttpOptions] [Consumes("application/json", "multipart/form-data")] public IActionResult UploadFileToServer([FromForm] IFormCollection file) { try { IFormFile item = null; if(file.IsNull() || file.Count
63 0