项目中的文件上传

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


	
		
	

1.  jsp

广告管理的模态框

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 "广告上传失败!!!";
		}
    	
    }
}

 

 

 

你可能感兴趣的:(java,eclipse)