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-前端标 ...
随机推荐
- 使用windowbuilder的时候更方便——设置默认把控件生成为成员变量而不是局部变量
找了一大圈,最后还是上Google才找到这个方法的.以前改过了,重新设置工作目录之后设置都丢失了,却找不到改的办法,这次长个记性,记在自己博客里. 设置成成员属性的好处是随后使用这些控件的时候方便.
- jQuery第一课 加载页面弹出一个对话框
<script type="text/javascript"> $(document).ready(function(){ alert("欢迎收看:" ...
- SSH的理解
SSH的利用,通俗的讲就是一个网络传输数据的加密协议,目前有一些基于SSH的构建了服务器-客户端的软件工具,在Windows上装一个客户端,Linux上则为服务端,这样就可以把Windows上写的内容 ...
- 【BZOJ 1303】 [CQOI2009]中位数图
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 注意是1..n的排列. 设b的位置为i. 设i右边的数字,比b大的为1,比b小的为-1. (i左边的位置数字也一样设置成1和-1 则 ...
- MAC中Parallels Desktop windows忘记密码的解决办法
由于工作或是生活,在国内的环境下我们总有些时候要用到Windows才能完成某些任务,对于不经常使用Windows的用户,相信在虚拟机上安装一个Windows是不错的选择.小编就使用了Paralles ...
- hdu4405--Aeroplane chess(概率dp第七弹:飞行棋游戏--2012年网络赛)
Aeroplane chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 4、python序列对比
1.列表:[ ],杂(什么都可以放进去),有序,可变 2.元组:(),有序,不可变 3.字典:{ },键值对,无序,可变 4.集合:{ },不可重复,无序,可变
- ZOJ2326Tangled in Cables(最小生成树)
Tangled in Cables Time Limit: 2 Seconds Memory Limit: 65536 KB You are the owner of SmallCableC ...
- delphi网络函数大全
{=========================================================================功 能: 网络函数库时 间: 2002/10/02版 ...
- vue2.0 路由学习笔记
昨天温故了一下vue2.0的路由 做个笔记简单记录一下! 1.首相和vue1.0一样 要使用vuejs的路由功能需要先引入vue-router.js 2.然后修改原有a标签处代码 这里以一个ul li ...