项目中的文件上传

上传文件时,需要在springmvc.xml配置文件上传解析器

<!-- 文件上传需要一个文件上传解析器 -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding" value="utf-8"></property>
	</bean>

1.  jsp

<button type="button" id="adAdd_btn" class="btn btn-primary"
      style="float: right;">
    <i class="glyphicon glyphicon-plus"></i> 新增
</button>

广告管理的模态框

​

<!-- 广告添加的模态框 -->
<div class="modal fade" id="ad_add_model" tabindex="-1" role="dialog"
  aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
	<div class="modal-content">
	    <div class="modal-header">
		<button type="button" class="close" data-dismiss="modal"
			aria-label="Close">
		  <span aria-hidden="true">&times;</span>
		</button>
		<h4 class="modal-title" id="myModalLabel">添加广告</h4>
	   </div>
	<div class="modal-body">
	  <form action="${ctp }/servicectrl/ads/upload" id="ad_form" method="post"                 enctype="multipart/form-data">
		<div class="form-group">
		   <label>广告名</label> 
     <input type="text" class="form-control"id="ad_name_input" placeholder="广告名">
		</div>

		<div class="form-group">
		 <label>选择广告</label>
                   <input type="file" id="ad_file_input" name="ad">
		</div>
	 </form>
	</div>
     <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary" id="submitBtn">确定</button>
     </div>
   </div>
 </div>
</div>

​

script

<script type="text/javascript">
	
         //点击新增添加模态框
		$("#adAdd_btn").click(function(){
			$("#ad_add_model").modal("show");
			
		});
		$("#submitBtn").click(function(){
			//1.提交表单,不是ajax提交表单,这就是点击提交按钮进行的页面跳转
			$("#ad_form").submit();
			//2.关闭模态框
			//3.刷新list页面
		});
	</script>

 实现类

package com.java.scw.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.java.scw.dao.TAdvertisementMapper;
import com.java.scw.entity.TAdvertisement;
import com.java.scw.service.AdvertisementService;
@Service
public class AdvertisementServiceImpl implements AdvertisementService {
	@Autowired
	TAdvertisementMapper advertisementMapper;

	@Override
	public boolean addAdver(TAdvertisement advertisement) {

		return advertisementMapper.insertSelective(advertisement)>0;
	}

}

2.service  

package com.java.scw.service;

import com.java.scw.entity.TAdvertisement;

public interface AdvertisementService {

	boolean addAdver(TAdvertisement advertisement);
     
}

3.controller

package com.java.scw.controller.manager;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import com.java.scw.constant.Constants;
import com.java.scw.entity.TAdvertisement;
import com.java.scw.entity.TUser;
import com.java.scw.service.AdvertisementService;

@Controller
@RequestMapping("/servicectrl/ads")
public class AdvertisementController {
	@Autowired 
	AdvertisementService advertisementService;
	
    @RequestMapping("/list")
    public String list(){
    	return "manager/serviceman/advertisement";
    }
    /**
     * produces="text/html;charset=utf-8"  相当于给响应头加Content-Type能解决乱码
     * @param session
     * @param file
     * @param name
     * @return
     */
    @ResponseBody
    @RequestMapping(value="/upload",produces="text/html;charset=utf-8")
    public  String upload(HttpSession session,@RequestParam("ad")MultipartFile file,String name){
    	//1.获取某个文件夹在服务器上的真实路径
    	ServletContext context = session.getServletContext();
    	//2.使用context对象获取真实路径
    	String adPath = context.getRealPath("/advertisements");
    	//3.把文件上传到这个位置
    	String filename=UUID.randomUUID().toString().replace("-", "").substring(0,10)+"_file_"+file.getOriginalFilename();
    	try {
    		//文件上传后的网络位置
    		String netUrl="advertisements/"+filename;
			file.transferTo(new File(adPath+"/"+filename));
			TAdvertisement advertisement = new TAdvertisement();
			advertisement.setName(name);
			advertisement.setUrl(netUrl);
			advertisement.setUserid(((TUser)session.getAttribute(Constants.LOGIN_USER)).getId());
			//保存到数据库中
			boolean flag=advertisementService.addAdver(advertisement);
			if (flag) {
				return "保存成功!";
			}else {
				return "广告上传失败!";
			}
		} catch (IOException e) {
			System.out.println("广告上传异常:"+e);
			return "广告上传失败!!!";
		}
    	
    }
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值