文件上传工具类

项目的开发环境是ssm,使用之前保证jar包到位,相关xml文件中配置到位。

准备环境:

1. pom.xml文件中导入相关依赖。

		<!-- 上传组件包 Start -->
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.1</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.9</version>
		</dependency>
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>3.0</version>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.1</version>
		</dependency>
		<!-- 上传组件包 End -->

2. 关于springmvc的配置文件中配置,

   <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->  
    <bean id="multipartResolver"    
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    
        <!-- 默认编码 -->  
        <property name="defaultEncoding" value="utf-8" />    
        <!-- 文件大小最大值 -->  
        <property name="maxUploadSize" value="10485760000" />    
        <!-- 内存中的最大值 -->  
        <property name="maxInMemorySize" value="40960" />    
    </bean>  

Util包中有关上传部分:

public class PhotoUpload {
	   
	
	//photo即为上传的图片的name值(前端中的name属性的值)
	public static String upLoad(MultipartFile photo,HttpServletRequest req){		
		String fileName = photo.getOriginalFilename();//上传的文件名
		SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
		//找到上传文件要放的路径,写到里面去
		//src取不到数据  
		File dir = new File(req.getSession().getServletContext().getRealPath("/"));		
		//photostorage是存储地址
		String photostorage = dir+File.separator+"upload"+File.separator+sdf.format(new Date())+fileName;
		String photopath = "../upload/"+sdf.format(new Date())+fileName;
		FileOutputStream fos = null;
		try {
			System.out.println("try");
			fos = new FileOutputStream(photostorage);
			fos.write(photo.getBytes());//按字节方式写进去
			fos.flush();
			System.out.println("try-end");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{			
			try {
				fos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		System.out.println(photostorage);
		System.out.println(photopath);
		return photopath;
		
	}

}



猜你喜欢

转载自blog.csdn.net/qq_29410905/article/details/80118007
今日推荐