jfinal ajax 上传文件,Jfinal框架下结合ajaxFileupload实现多文件上传

距离写代码时间有点长了,没有及时总结,现在忘得差不多了。不过大概思路还在,也是有点参考价值的!

由于jfinal框架自身的问题,在实现多文件上传时很难获取所有文件的名字,只能获取到一个input标签里面的名字而已,重写框架是最佳的方法,但是对于初学者而言十分艰难,所以我这里介绍另一种解决思路吧!

思路:

1、前端界面一个input标签,使用ajaxFileupload.js实现对文件的上传。

2、后台接收所有文件,保存到一个独一无二的文件夹中

3、遍历该文件夹里面的所有文件,获取他们的名字,存入数据库!

具体代码如下:

前端界面:

监测点id:

描述:

拍摄地点:

上传

js:

$(document).ready(function() {

$('#upload').click(function() {

upload();

});

});

function upload() {

var monPointId=$("#monPointId").val();

var description=$("#description").val();

var location=$("#location").val();

$.ajaxFileUpload({

url : '/upload?monPointId='+monPointId+'&description='+description+'&location='+location, //提交的路径

type: 'post',

secureuri : false, // 是否启用安全提交,默认为false

fileElementId : 'uploadfile', // file控件id

dataType : 'json',

data:{

'monPointId' : monPointId,

'description' : monPointId,

'location' : monPointId,

},

success : function(data, status) {

console.log("aa");

console.log(data);

console.log(status);

},

error : function(data, status) {

alert("上传失败");

}

});

}

后台:

/**

* 多视频文件上传

*/

@SuppressWarnings("unchecked")

public void upload(){

String dirName=CommonUtils.getCurrentTime();

String contextPath = PathKit.getWebRootPath();

String path = "/upload/video/" +dirName;

String pathUrl = contextPath + path;

Map map=new LinkedHashMap();

try {

List uploadFile = getFiles("video/"+dirName);//在磁盘上保存文件

System.out.println(uploadFile.size());

String monPointId=getPara("monPointId");

String description=new String(getPara("description").getBytes("iso-8859-1"),"utf-8");//乱码控制

String location=new String(getPara("location").getBytes("iso-8859-1"),"utf-8");

SensorService service=new SensorService();

map=(Map) service.uploadVideo(uploadFile, dirName, path,pathUrl, monPointId, description, location);

} catch (Exception e) {

e.printStackTrace();

map.put("status", false);

map.put("msg", "服务器异常!");

ExcelImportUtil.deleteDir(new File(pathUrl));

}

System.out.println(map);

renderJson(map);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值