Query插件ajaxfileupload上传文件无需创建form表单
来源:互联网 发布:榕基软件股份有限公司 编辑:程序博客网 时间:2024/06/15 23:31
Query插件ajaxfileupload上传文件无需创建form表单,这样就可以解决在form嵌套中ajax表单提交出现的问题
页面代码:(需要把ajaxfileupload.js包含进来)
<!-- 引入相关的js文件,相对路径 -->
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/ajaxfileupload.js"></script>
<!-- 执行上传文件操作的函数 -->
<script type="text/javascript">
function uploadFile() {
$.ajaxFileUpload({url:path + "/compoundbatchsearch/upLoadTxtFile.do",
secureuri:false,
fileElementId:"batchSearchFile",
dataType:"XML",
success:function (data, status) {
uploadcallback(data);
},
error:function (data, status, e) {
uploadcallback("occurError");
}
});
}
<div id="search_area" style="position: absolute; z-index: auto; ">
<input id="uploadFile" accept="text/html" type="file" name="uploadFile" />
<input type="button" id="upload" value="uploadFile()" />
</div>
服务器端代码:(应用了spring2.5,需要在spring配置文件中定义multipartResolver bean)
@Controller
public class CompoundBatchSearchController {
private static final Logger logger = Logger.getLogger(CompoundBatchSearchController.class);
@Resource(name="compoundBatchSearchService")
private ICompoundBatchSearchService compoundBatchSearchService;
@RequestMapping
public void upLoadTxtFile(HttpServletResponse response, HttpServletRequest request) {
logger.info("upload txt file action...");
// clear session before parese txt file
if (request.getSession().getAttribute(Constants.RESULT_IDS) != null) {
request.getSession().removeAttribute(Constants.RESULT_IDS);
}
try {
// upload file
MultipartHttpServletRequest mhs = (MultipartHttpServletRequest) request;
MultipartFile mf = mhs.getFile("batchSearchFile");
File file = FilePathHelper.uploadFile(mf, Constants.UPLOAD_TXT);
logger.info("upload file success!");
Map<String, List<String>> idsMap = fetchIDsFromFile(file, response);
if (null == idsMap || idsMap.isEmpty()) {
logger.error("cannot read data form file!");
MessageUtils.outputJSONResult("empty", response);
return;
}
logger.info("read upload file success!");
List<String> casNumbers = idsMap.get("CAS");
List<String> mdlNumbers = idsMap.get("MDL");
if (casNumbers != null && !casNumbers.isEmpty()&& mdlNumbers != null && !mdlNumbers.isEmpty()) {
logger.error("It contains invalid data in upload file");
MessageUtils.outputJSONResult("dataError", response);
return;
}
if (casNumbers != null && !casNumbers.isEmpty()) {
List<Long> ids = compoundBatchSearchService.getStructureIdsByCasNo(casNumbers);
if (ids != null) {
request.getSession().setAttribute(Constants.RESULT_IDS, ids);
}
}
if (mdlNumbers !=null && !mdlNumbers.isEmpty()) {
List<Long> ids = compoundBatchSearchService.getStructureIdsByMdl(mdlNumbers);
if (ids != null) {
request.getSession().setAttribute(Constants.RESULT_IDS, ids);
}
}
MessageUtils.outputJSONResult("success", response);
} catch (Exception e) {
logger.error(e.getMessage(), e);
MessageUtils.outputJSONResult("occurError", response);
}
}
spring中定义的upload部分:
<!-- upload file -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxInMemorySize">
<value>20480</value>
</property>
<property name="defaultEncoding">
<value>UTF-8</value>
</property>
</bean>
- Query插件ajaxfileupload上传文件无需创建form表单
- jfinal文件form表单上传,ajaxfileupload异步上传
- ajaxFileUpload插件上传文件
- ajaxFileUpload Jquery文件上传插件
- ajaxFileUpload文件上传Jquery插件
- form表单上传文件
- form表单上传文件
- Form表单文件上传
- form表单文件上传
- 使用jQuery.form插件实现表单异步提交+上传文件
- 使用jQuery.form插件实现表单异步提交+上传文件
- springmvc带文件上传的form表单提交,用 jquery的ajaxfileupload或使用dropzone上传图文详解
- 无需form标签的文件上传
- ajaxFileUpload ajax上传文件!jquery插件
- jQuery上传文件插件AjaxFileUpload的使用
- jQuery插件AjaxFileUpload实现文件上传
- jquery插件AjaxFileUpload实现ajax文件上传
- ajax文件上传,采用ajaxfileupload插件
- MFC隐藏显示任务栏,菜单栏及输入法面板
- CSDN C/C++电子杂志第一期 之 可变参数学习笔记
- 了解SQL Server执行计划
- Dom4j的使用(全而好的文章)
- UDP聊天程序补充
- Query插件ajaxfileupload上传文件无需创建form表单
- 浅谈Solaris中的malloc()和free()
- ColorDialog控件
- C-Sharp调用标准动态库
- spring 事务管理
- 条款12:复制对象时勿忘其每一个成分
- JXL操作Excel
- 服务器安全设置
- OpenSolaris0906安装五笔输入法