AJAX 文件上传配置

上传文件的配置

 


 

 

 

<!-- 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>
	    &nbsp;&nbsp;<button type="submit" class="btn btn-primary">保存</button>
	    &nbsp;&nbsp;<button type="button" class="btn btn-success" name="backid" id="backid">返回</button>
	 </td>
</tr>

  

 

导入两个必备包

commons-fileupload-1.2.jar

commons-io-1.4.jar 

 

 

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;
	}
}

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Spring MVC和AJAX文件上传下载,你可以按照以下步骤操作: 文件上传: 1. 创建一个包含文件上传表单的HTML页面。 2. 创建一个Spring MVC控制器,用于处理文件上传的请求。 3. 在控制器中,使用`@RequestMapping`注解来映射文件上传的URL,并使用`@RequestParam`注解来接收文件。 4. 在处理方法中,使用MultipartFile参数来接收上传的文件,并使用`transferTo()`方法将文件保存到指定位置。 文件下载: 1. 创建一个Spring MVC控制器,用于处理文件下载的请求。 2. 在控制器中,使用`@RequestMapping`注解来映射文件下载的URL。 3. 在处理方法中,使用`@PathVariable`注解来接收文件名参数。 4. 使用`ServletContext`对象获取文件路径,并创建一个`File`对象。 5. 使用`ResponseEntity`类设置下载响应的头部信息和内容。 通过AJAX实现文件上传和下载: 1. 使用JavaScript创建一个AJAX请求对象。 2. 使用FormData对象将文件添加到请求中。 3. 发送AJAX请求到Spring MVC控制器的URL,并设置请求方法为POST。 4. 在Spring MVC控制器中,使用MultipartFile参数接收文件,并处理文件上传的逻辑。 5. 在返回的响应中,可以包含上传成功或失败的消息。 注意:在Spring配置文件中,需要配置multipart解析器来支持文件上传。 以上是实现Spring MVC和AJAX文件上传下载的一般步骤,你可以根据具体需求进行适当的调整和扩展。希望对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值