上传图片到指定路径

根据指定路径,上传文件(照片)到本地磁盘

有时候我们在做项目的时候,需要上传一些图片文件,但是,又存在无法上传到项目根路径的情况发生,这时候根据需要,我们可以上传一些文件或者图片到本地磁盘空间,等到项目部署之后,相应的图片会保存在部署的服务器上,开发环境就先上传到本地磁盘的一个具体路径,运用Java代码如何实现呢?下面是我的一些具体方法:

上传图片具体操作

1.配置文件内:配置路径信息

#图片保存路径  本地磁盘C 下面的import文件夹内放置上传的文件
import.file.savePath=c:/import

2.控制层:用@value注解注入文件保存路径

@Value("${import.file.savePath}")
private String importPath;

3.控制层:上传代码部分

/*
*适用于上传一些指定信息的图片,用于某些特定的展示,
*后台规定了文件名,所以重复上传会把过往上传的相同名字的文件删除覆盖!
*但是文件后缀名会和原文件保持一致,防止展示图片时浏览器不兼容
**/
@RequestMapping(value="/Photo/importPhoto",method = {RequestMethod.POST , RequestMethod.GET})
public void importPhoto(MultipartFile importPhoto , HttpServletRequest request, HttpServletResponse response) throws IOException{
	try{
		//获取上传文件的名称
		String fileName = importPhoto.getOriginalFilename();
	//截取参数之后剩余的字符串并返回(返回文件名中“.”的索引值),获取上传图片的后缀名
		String ext = fileName.subString(fileName.indexOf("."));
		//根据指定存储路径新建file对象
		File flist = new File(importPath);
		if(!importPath.isEmpty()){
			//检查指定路径下是否有文件夹,没有创建相应文件夹
			flist.mkdir();
		}
		//查看指定路径下的文件夹内的文件
		for(File f : flist.listFiles()){
			if(f.getName().contains("文件名"){
				//将指定的文件删除
				f.delete();
			}
		}
		//图片上传的路径和上传后的名称+原始后缀名
		File file2 = new File(importPath,"文件名"+ext);
		importPhoto.transferTo(file2);	
		//上传成功发送给前台的提示信息	
		response.getWriter().write("true");
	} catch (Exception e){
		e.printStackTrace();
		//上传失败,有异常发送给前台的提示信息
		resposne.getWriter().write("false");
	}
}

猜你喜欢

转载自blog.csdn.net/qq_21194601/article/details/83009186