jfinal form表单提交文件
前台代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/commons/taglib.jsp" %>
<%@ include file="/commons/common.jsp" %>
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'excelImp.jsp' starting page</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="${basePath}/js/sg/jquery-1.9.1.js"></script>
</head>
<body>
<form id="file_form" action="${basePath }/excel/upload" enctype="multipart/form-data"
method="post" onsubmit="return validate()">
<input type="file" name="file" id="file_input" />
<input type="submit" value="文件上传" id='upFile-btn'>
</form>
</body>
<script type="text/javascript"> function validate(){
var fileName = $("#file_input").val();
if (fileName === "") {
alert("请选择文件");
return false;
}
var fileType = (fileName.substring(fileName
.lastIndexOf(".") + 1, fileName.length))
.toLowerCase();
if (fileType !== "xls" && fileType !== "xlsx") {
alert("文件格式不正确,请选择excel文件!");
return false;
} $("#file_form").ajaxSubmit({
dataType : "json",
success : function(data, textStatus) {
if (data.result === "OK") {
alert("上传文件成功");
} else {
alert("文件格式错误");
}
return false;
}
});
return true;
}
</script> </html>
后台文件接收:
public void upload(){
try {
// HttpServletRequest request = getRequest();
// String basePath = request.getContextPath();
String ftype = getPara("ftype");
System.out.println("数据类型:"+ftype);
//存储路径
String path = getSession().getServletContext().getRealPath(Preference._PATH);
UploadFile file = getFile("file");
String fileName = "";
if(file.getFile().length() > 200*1024*1024) {
System.out.println("文件长度超过限制,必须小于200M");
setAttr("result", "文件长度超过限制,必须小于200M");
}else{
//上传文件
// String type = file.getFileName().substring(file.getFileName().lastIndexOf(".")); // 获取文件的后缀
// fileName = System.currentTimeMillis() + type; // 对文件重命名取得的文件名+后缀
// String dest = path + "/" + fileName; //新的文件路径+文件名
// System.out.println("新的文件路径+文件名:"+dest);
// file.getFile().renameTo(new File(dest));
// //读取文件内容
// File filen = new File(dest);
List<String[]> list = POIUtil.readExcel(file.getFile());
for (int i = 0; i < list.size(); i++) {
String[] str = list.get(i); Db.use("db1").update("insert into ics_tasks (query, taskid, tname, ttype, btype) "
+ "values ('"+str[0]+"','"+JavaUtil.getCRC32(str[0])+System.currentTimeMillis()+"','"+str[1]+"','"+str[2]+"','"+str[3]+"')"); } // String realFile = basePath + "/" + Preference._PATH + fileName;
// String fname="/"+fileName;
// setAttr("fname", fname);
// setAttr("url", realFile); setAttr("result", "OK");
}
} catch (Exception e) {
e.printStackTrace();
setAttr("result", e.getMessage());
} renderJson();
}
参考:http://blog.csdn.net/the_first_c/article/details/72868119
jfinal form表单提交文件的更多相关文章
- js实现无刷新表单提交文件,将ajax请求转换为form请求方法
最近在做项目的时候遇到一个需要上传文件的需求,因为ajax请求是无法上传二进制文件流的,所以只能用form表单提交,而form提交有一个问题就是会使页面刷新,本文解决了form表单提交文件时页面刷新的 ...
- Linux curl 模拟form表单提交信息和文件
Linux curl 模拟form表单提交信息和文件 curl是一个命令行方式下传输数据的开源传输工具,支持多种协议:FTP.HTTP.HTTPS.IMAP.POP3.TELNET等,功能超级强大 ...
- form表单提交file
form表单提交文件,这毫无疑问不是个好办法.但是,存在既有意义.既然H5都还让着东西存在着,呢么必然有其意义. form表单中的input type=file这个空间,不得不说奇丑无比!问题是还不能 ...
- Flask基础之返回值与form表单提交
目录 1.Python 现阶段三大主流Web框架 Django Tornado Flask 对比 2.Flask的安装 3.Flask的第一个简单应用 4.Flask中的render_template ...
- Ajax提交Form表单及文件上传
刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...
- ajax form表单提交 input file中的文件
ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了 ...
- js_ajax模拟form表单提交_多文件上传_支持单个删除
需求场景: 用一个input type="file"按钮上传多张图片,可多次上传,可单独删除,最后使用ajax模拟form表单提交功能提交到指定方法中: 问题:由于只有一个file ...
- Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)
一.HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
随机推荐
- Java集合 之Map(HashMap、Hashtable 、TreeMap、WeakHashMap )理解(new)
HashMap 说明: 在详细介绍HashMap的代码之前,我们需要了解:HashMap就是一个散列表,它是通过“拉链法”解决哈希冲突的.还需要再补充说明的一点是影响HashMap性能的有两个参数:初 ...
- Python随笔目录
Python 一.Python基础 Python入门 数据类型 函数(迭代器生成器三元表达式) 模块和常用内置模块 面向对象 网络编程(socket) 并发编程 ... 二.数据库 MySQL PyM ...
- cookie、session、分页
一.cookie HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情 ...
- sql:sql server,MySQL,PostgreSQL的表,视图,存储过程结构查询
sql server 2005: --SQL SERVER 2005 生成代码需要知道的SQL语句 use LibrarySystem --查询当前数据库所有表和其的主键字段,字段类型,长度,是否为空 ...
- django框架中form表单Post方法无法提交 Forbidden (403) CSRF verification failed. Request aborted.
问题如图: 解决方法: 在视图函数中引入并使用装饰器 from django.views.decorators.csrf import csrf_exempt @csrf_exempt
- 第二天-while循环 格式化输出 运算符 编码
一.while循环 while 条件: 语句块(循环体) #判断条件是否成立,若成立执行循环体,然后再次判断条件...直到不满足跳出循环 else: 当条件不成立的时候执行这里,和break没 ...
- Python Basics
廖雪峰老师博客 1. 可变参数(例如 *nums),允许传入一个list 或 tuple,但是 关键字参数(例如 **kv),允许传入一个dict,具体可参考此页: 2. set与dict类似,但只是 ...
- 何时需要做urlEncode,以及为什么要做
在RFC1738中,对于URL可以使用的字符集做了如下规定: “ 只有0-9a-zA-Z的字母以及$-_.+!*'(),"这几个特殊字符 ” 而在html4中扩展了所有的unicode ch ...
- 排查在 Azure 中创建、重启 Windows VM 或调整其大小时发生的分配失败
创建 VM.重新启动已停止(解除分配)的 VM 和重设 VM 大小时,Azure 会为订阅分配计算资源. 执行这些操作时,即使尚未达到 Azure 订阅限制,也可能偶尔收到错误. 本文说明一些常见分配 ...
- Halo 的缔造者们在忙什么?
如果你自认为是一名主机游戏玩家,就一定知道 Halo.自 2001 年首代作品问世至今,十多年的磨炼已使得『光环』成为世界顶级的 FPS 游戏之一.<光环4>的推出,更让系列走向一个重要的 ...