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
    评论
JFinal是一款国产的JavaWeb框架,它提供了方便的文件功能。在JFinal中,文件的流程可以分为四个步骤:引入需要的jar包、创建jsp页面、配置config和编写后台controller处理方法。首先,我们需要引入相关的jar包。然后,创建一个jsp页面,用于用户选择和上文件。接下来,在config配置中,我们不需要进行xml配置,可以在java类的config类中配置相关信息。最后,在后台controller处理方法中,我们可以通过this.getFile()方法获取上文件参数,并进行相应的处理。通过这些步骤,我们可以实现JFinal文件功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [JFinal框架文件、多文件详解](https://blog.csdn.net/alan_liuyue/article/details/79386540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [JFinal文件](https://blog.csdn.net/Lurk_111/article/details/90167554)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值