jfinal 后台文件上传(结合上一篇(h5 图片回显))
前端用了jquery.form.js插件异步提交表单
$("#imgForm").ajaxSubmit();//户主头像
/**
*
* @description 上传户主头像
* @author 邵海雄
* @date 2016年8月12日 上午9:39:26
*/
public void holdHead(){
//上传文件名(以当前系统时间为准)
String uploadfileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date(System.currentTimeMillis()));
UploadFile uploadFile = getFile("photoFilePic");//获得上传文件
File source = uploadFile.getFile(); //源文件
String fileName = uploadFile.getFileName(); //获得源文件文件名
String extension = fileName.substring(fileName.lastIndexOf(".")); //得到源文件的后缀
String uploadPath = PathKit.getWebRootPath()+"/upload/household"; //上传文件的路径
//服务器上的图片地址,添加到数据库的图片地址
String imgSrc="/upload/household/"+uploadfileName+extension;
ViewModel viewModel = AntipovertyCommonService.upload(uploadPath,source, uploadfileName+extension);
String householdId = getPara("householdId_img");
if (StrKit.notBlank(householdId)) {
//拿到户主ID更新图片地址
boolean flag= PovertyService.updateHouseholdHeadById(householdId,imgSrc);
}
renderJson();
}
/**
*
* @description 文件上传
* @author 邵海雄
* @return
* @date 2016年8月9日 下午 15:54:39
*/
public static ViewModel upload(String uploadPath,File source,String uploadFileName) {
ViewModel vm = new ViewModel();
try {
FileInputStream fis = new FileInputStream(source); //源文件输入
File targetDir = new File(uploadPath);//上传文件parent
if (!targetDir.exists()) {
targetDir.mkdirs(); //如果目标路径不存在新建一个
}
File target = new File(targetDir,uploadFileName);//上传文件
if(!target.exists())
{
target.createNewFile();
}
FileOutputStream fos = new FileOutputStream(target);//上传文件输出
byte[] bts = new byte[300];
while (fis.read(bts, 0, 300) != -1) { // 读取到数组
fos.write(bts, 0, 300); //写入
}
fis.close();
fos.close();
source.delete();
vm.setInfo(new Info("上传成功"));
} catch (FileNotFoundException e) {
vm.setErr(new Error("上传出现错误,请稍后再上传"));
} catch (IOException e) {
} vm.setErr(new Error("文件写入服务器出现错误,请稍后再上传"));
return vm;
}
jfinal 后台文件上传(结合上一篇(h5 图片回显))的更多相关文章
- 文件上传~Uploadify上传控件~续(多文件上传)
对于Uploadify文件上传之前已经讲过一次(文件上传~Uploadify上传控件),只不过没有涉及到多文件的上传,这回主要说一下多个文件的上传,首先,我们要清楚一个概念,多文件上传前端Upload ...
- php实现大文件上传分片上传断点续传
前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...
- 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件
[源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...
- input文件上传(上传单个文件/多选文件/文件夹、拖拽上传、分片上传)
//上传单个/多个文件 <input title="点击选择文件" id="h5Input1" multiple="" accept= ...
- 使用webuploader实现大文件上传分片上传
本人在2010年时使用swfupload为核心进行文件的批量上传的解决方案.见文章:WEB版一次选择多个文件进行批量上传(swfupload)的解决方案. 本人在2013年时使用plupload为核心 ...
- FTP上传 -首先上传文件到的那台电脑得安装ftp
/*↓↓↓↓ add upload ftp file 2014-03-16*/ /*↓↓↓↓ add 2014-03-16 ftp upload file*/ var $ftpse ...
- java图片上传及图片回显1
目的:选择图片,进行图片回显之后将图片保存到服务器上(PS:没有使用任何插件,样式很丑) 实现方式: js+servlet+jsp的方式来实现 事先准备: 文件上传处理在浏览器中是以流的形式提交到服务 ...
- SpringBoot图片上传(五) 上一篇的新版本,样式修改后的
简单描述:一次上传N张图片(N可自定义):上传完后图片回显,鼠标放到已经上传的图片上后,显示删除,点击后可以删除图片,鼠标离开后,图片恢复. 效果:一次上传多个图片后的效果 上传成功: 鼠标悬浮到图片 ...
- 项目总结21:项目总结21:input实现多图上传(FormData)(上传OSS并保存数据库)
项目总结21:input实现多图上传(FormData)(上传OSS并保存数据库) 备注:本案例,作为Demo,包含少量的项目业务逻辑,input多图上传的逻辑是完整的: 不废话直接上代码 1-前端标 ...
随机推荐
- hadoop从wordCount开始
最近一段时间大数据很火,我有稍微有点java基础,自然选择了由java编写的hadoop框架,wordCount是hadoop中类似于java中helloWorld的存在,自然不能错过. packag ...
- How Javascript works (Javascript工作原理) (十) 使用 MutationObserver 监测 DOM 变化
个人总结: 这篇文章介绍了几种监测DOM变化的方法,重点介绍的是一个新浏览器API叫做MutationObserver. 注意:不要和Vue.js种 Object.defineProperty() 的 ...
- 常用的pdf工具
https://www.ilovepdf.com/zh-cn https://smallpdf.com/cn/compress-pdf https://www.pdf2go.com/zh/compre ...
- redis为什么选择单线程工作模型
1.先说一下为什么出现进程,线程 进程:在计算机发明之初就发现,在输入数据时(I/O速度慢),CPU是空闲的,这样就浪费了CPU资源,为了充分利用CPU资源,发明了进程,在输入程序A的数据时,程序B在 ...
- [数位dp] bzoj 3209 花神的数论题
题意:中文题. 思路:和普通数位dp一样,这里转换成二进制,然后记录有几个一. 统计的时候乘起来就好了. 代码: #include"cstdlib" #include"c ...
- iOS9适配小结
前言 最新公布的app版本号适配了iOS9.总结一下适配过程的几个要点. Bitcode iOS9此番推出了新的特性:Bitcode,关于Bitcode的资料大家能够在网上找.Bitcode要求pro ...
- 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?(转)
通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?(转) 一.总结 一句话总结:.NET是一个平台,包含多种语言,比如(C#.Visual Basic.C++/C ...
- [Project Euler 409] Nim Extreme 解题报告 (统计方案数)
题目链接:https://projecteuler.net/problem=409 题目: 题解: 题目问你必胜态的数目,我们考虑用总的方案数减去必败态的方案数(NIM游戏没有平局这个操作) 必败态的 ...
- Android框架-Volley(二)
1. ImageRequest的用法 前面我们已经学习过了StringRequest和JsonRequest的用法,并且总结出了它们的用法都是非常类似的,基本就是进行以下三步操作即可: 1. 创建一个 ...
- Spring的注解@SuppressWarnings用法记录
@SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点. 如图所示: 这时候我们在 ...