上传文件的配置
<!-- ajax文件上传需要 --> <script type="text/javascript" src="../js/jquery.form.js"></script> <script type="text/javascript"> $("#picForm").ajaxForm({ url:"${ctx}/admin/goods/imgUpload", type:"POST", dataType:"text", async:true, success:function(){ alert("上传成功"+imgUrl); tinyMCE.execCommand("mceInsertContent",false,"<img src=${ctx}/images/goodsDescImgs/"+imgUrl+">"); }, error:function(){ alert("文件上传失败!"); } }); </script>
<tr> <td class="tableleft"></td> <td> <form id="picForm" method="POST" enctype="multipart/form-data"> <input type="file" name="pic"/> </form> <button type="submit" class="btn btn-primary" form="picForm">上传</button> <button type="submit" class="btn btn-primary">保存</button> <button type="button" class="btn btn-success" name="backid" id="backid">返回</button> </td> </tr>
导入两个必备包
springMVC 的配置文件里写上
<!-- 配置文件上传解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 编码,默认编码是ISO-8859-1 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 配置允许上传文件的大小,单位字节 --> <property name="maxUploadSize" value="5848220"></property> </bean>
公共dao配置
public class BaseDao { private static SqlSessionFactory factory; //建立本地线程 private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<>(); //通过静态块初始化SqlSessionFactory,因为静态块只会在类第一次加载的时候执行 static { try { InputStream in = Resources.getResourceAsStream("Mybatis_config.xml"); //通过创建的factory对象来获取数据库的session factory = new SqlSessionFactoryBuilder().build(in); } catch (IOException e) { e.printStackTrace(); System.err.println("数据库连接工厂获取失败!"); } } /** * 获取SqlSession对象 * @return */ public static SqlSession getSqlSession(){ //通过ThreadLocal获取sqlSession对象 SqlSession sqlSession = threadLocal.get(); if(sqlSession == null){ //获取一个SqlSession对象 sqlSession = factory.openSession(); //并存储到ThreadLocal对象中,通过ThreadLocal对象可以方便进行线程同步管理 threadLocal.set(sqlSession); } return sqlSession; } /** * 关闭SqlSession对象 */ public static void closeSqlSession(){ SqlSession sqlSession = threadLocal.get(); if(sqlSession != null){ sqlSession.close(); } threadLocal.remove(); } }
action里的配置
public class GoodsAction { GoodsTypeDao goodsTypeDao = null; GoodsDao goodsDao = null; PageModel pageModel = new PageModel(); /** * ajax文件上传 * @param file * @param session * @return * @throws IOException */ @RequestMapping("/imgUpload") @ResponseBody public String fileUpload(@RequestParam(name="pic")MultipartFile file,HttpSession session) throws IOException{ //获取文件在服务器的存储路径 String path = session.getServletContext().getRealPath("/images/goodsDescImgs"); //获取上传文件的名称 String fileName = file.getOriginalFilename(); //进行文件存储 file.transferTo(new File(path,fileName)); return fileName; }
goods的dao配置
public class GoodsDao extends BaseDao { private static final String NAMESPACE_NAME = "com.carshop.mapper.GoodsMapper."; /** * 新增商品 * @param goods * @return true新增成功 false新增失败 */ public boolean saveGoods(Goods goods){ SqlSession session = getSqlSession(); int count = session.insert(NAMESPACE_NAME+"saveGoods",goods); session.commit(); closeSqlSession(); return count>0?true:false; } }
相关推荐
总的来说,"struts2+jquery+ajax文件异步上传"是一个结合了后端处理和前端交互的文件上传解决方案,提供了良好的用户体验和灵活性。通过MyEclipse这样的集成开发环境,开发者可以方便地构建、调试和部署这样的项目。
在Struts框架中集成AJAX文件上传,通常需要以下几个关键步骤: 1. **配置Struts Action**:首先,你需要创建一个Struts Action来处理文件上传请求。这个Action类需要实现`com.opensymphony.xwork2.ActionSupport`...
为了提供更好的用户体验,开发者通常会采用AJAX(Asynchronous JavaScript and XML)技术实现异步文件上传,避免传统方式下页面刷新带来的中断感。AJAX允许在后台与服务器进行通信,而无需刷新整个页面。本篇文章将...
需要注意的是,由于同源策略的限制,Ajax文件上传通常只能在同源环境下工作,对于跨域上传可能需要额外的配置或者使用CORS策略。 总的来说,Ajax文件上传控件,特别是AjaxFileUploadHelper,为.NET开发者提供了一种...
- **Controller配置**:在`SpringMVC`的`Controller`类中,我们需要定义一个方法来处理文件上传请求。这个方法需要使用`@RequestParam("file") MultipartFile file`注解来接收上传的文件。 - **存储策略**:上传的...
"ajaxfileupload"是一个JavaScript库,专门用于解决AJAX文件上传的问题。它使得开发者能够轻松地在后台处理文件上传,同时保持用户界面的交互性和无刷新特性。以下是对这个知识点的详细说明: 1. **文件选择**:在...
2. **Ajax文件上传**: - 使用jQuery的`$.ajax()`或`$.formData()`方法,可以发送异步请求,实现在后台处理文件上传而无需页面刷新。 - 创建一个`FormData`对象,将选中的文件添加到其中,然后通过`xhr.send...
### AJAX 实现文件上传 在探讨 AJAX 如何实现文件上传之前,我们首先简要回顾一下 AJAX 的历史背景及其带来的变革。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分...
"ajax文件上传插件,支持拖拽" 提供了一种高效、友好的解决方案,它利用Ajax技术实现异步文件上传,同时支持文件的拖放操作,极大地提升了用户体验。下面将详细介绍这个插件的关键知识点。 1. **Ajax文件上传**: ...
首先,我们需要理解Ajax文件上传的基本原理。传统的表单提交方式会导致页面刷新,而Ajax则通过XMLHttpRequest对象在后台与服务器进行通信,用户可以在等待文件上传的同时继续浏览页面的其他部分。这得益于异步处理,...
总结来说,Asp+Ajax文件上传技术是通过Asp处理服务器端逻辑,利用Ajax实现前端的无刷新交互,借助HTML5的File API进行文件选取和发送,从而实现多文件上传或批量文件上传的功能。这种技术提高了用户体验,减少了不必...
在HTML5中,File API的引入为Ajax文件上传提供了可能。`<input type="file">`元素现在可以与JavaScript进行交互,允许我们访问用户选择的文件对象。通过`FileReader`对象,我们可以读取文件内容;通过`FormData`对象...
4. plupload:支持多种浏览器的文件上传库,提供了丰富的配置选项和事件。 四、实时显示上传图片 在Ajax上传文件的过程中,如果上传的是图片,我们可以利用HTML5的File API预览图片。通过FileReader接口读取文件...
本教程将基于标题“大文件上传,ajax实现,支持10G以上的上传”和描述,详细介绍如何使用AJAX实现大文件上传,并探讨其背后的原理和技巧。 首先,理解大文件上传的关键在于分块上传。当文件过大时,一次性上传整个...
2. **Ajax文件上传** 使用`FormData`对象,我们可以将文件添加到HTTP请求中。以下是一个简单的示例: ```javascript var formData = new FormData(); formData.append('file', document.querySelector('input...
标题 "JQUERY+ASP.NET的AJAX文件上传(含Demo)" 描述了一种使用jQuery库与ASP.NET框架实现的异步文件上传技术。在Web开发中,这种技术能够提供更好的用户体验,因为它允许用户在不刷新整个页面的情况下上传文件。这...
总的来说,这个"java做的ajax异步上传 图片或文件的demo"涵盖了Java Web开发中的关键概念,包括Ajax通信、文件上传处理、Servlet、以及Eclipse和Tomcat的使用。通过学习和实践这个demo,开发者可以深入了解这些技术...
LTAjaxUpFileControl可能是这样一个Ajax文件上传控件的名称,它可能包含了以上提到的功能和特性,具体使用时需要按照其提供的文档或示例进行集成和配置。在实际应用中,开发者需要考虑兼容性问题,确保控件能在多种...
本文将深入探讨HTML5的Ajax文件上传跨域以及如何处理上传进度。 1. **CORS(跨源资源共享)**: HTML5引入了CORS来解决跨域问题,允许服务器声明哪些来源可以访问其资源。在服务器端,你需要设置合适的响应头`...
本示例探讨的是如何利用Spring MVC后端框架与前端的Ajax技术来实现高效的文件上传,相较于传统的表单提交方式,这种方法具有无刷新、用户体验更佳的优势。以下是关于这个主题的详细讲解。 首先,我们需要理解Spring...