码迷,mamicode.com
首页 > 编程语言 > 详细

java文件上传到服务器

时间:2015-09-10 19:17:57      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

最近项目中使用到了文件从本地到服务器的功能。其实是为了解决目前浏览器不支持获取本地文件全路径。不得已而想到上传到服务器的固定目录,从而方便项目获取文件,进而使程序支持EXCEL批量导入数据。

在前台界面中
<form method="post" enctype="multipart/form-data"  action="../manage/excelImport.do">
请选文件:<input type="file"  name="excelFile">
     <input type="submit" value="导入" onclick="return impExcel();"/>
</form>

action中获取前台传来数据并保存
/**
	 * excel 导入文件
	 * @return
	 * @throws IOException 
	 */
	@RequestMapping("/usermanager/excelImport.do")
	public String excelImport(
			String filePath,
			MultipartFile  excelFile,HttpServletRequest request) throws IOException{
		log.info("<<<<<<action:{} Method:{} start>>>>>>","usermanager","excelImport" );
		if (excelFile != null){
			String filename=excelFile.getOriginalFilename(); 
			String a=request.getRealPath("u/cms/www/201509");
			SaveFileFromInputStream(excelFile.getInputStream(),request.getRealPath("u/cms/www/201509"),filename);//保存到服务器的路径
		}
		log.info("<<<<<<action:{} Method:{} end>>>>>>","usermanager","excelImport" );
		return "";
	}
	
	/**
	 * 将MultipartFile转化为file并保存到服务器上的某地
	 */
	public void SaveFileFromInputStream(InputStream stream,String path,String savefile) throws IOException
	{       
        FileOutputStream fs=new FileOutputStream( path + "/"+ savefile);
        System.out.println("------------"+path + "/"+ savefile);
        byte[] buffer =new byte[1024*1024];
        int bytesum = 0;
        int byteread = 0;
        while ((byteread=stream.read(buffer))!=-1)
        {
            bytesum+=byteread;
            fs.write(buffer,0,byteread);
            fs.flush();
        } 
        fs.close();
        stream.close();
	}

java文件上传到服务器

标签:

原文地址:http://www.cnblogs.com/wangxiangstudy/p/4798576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!