spingmvc简单上传文件笔记

框架使用springmvc 、jersey,单独的文件上传服务器为tomcat,使用

在springmvc.xml文件中配置解析器

<!--解析器配置-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--设置文件的最大上尺寸-->
		<value>1024000</value>
<span style="font-family: Arial, Helvetica, sans-serif;"></bean></span>

需要在文件上传服务器的web.xml default sevlet中加入:

<init-param>
<span style="font-family: Arial, Helvetica, sans-serif;"> <param-name>readonly</param-name></span>
<param-value>false</param-value>
<init-param>
页面需要添加

<from method="post" enctype="multipart/form-data ></from>
controller中:

public void uploadPic(HttpServletRequest request, Writer out) throws IOException{
		//把request转换成复杂request
		MultipartHttpServletRequest mr = (MultipartHttpServletRequest) request;
		
		</span>//获得文件
		Map<String, MultipartFile> map = mr.getFileMap();
		Set<String> set = map.keySet();
		Iterator<String> it = set.iterator();
		String fileInputName = it.next();
		MultipartFile mf = map.get(fileInputName);
		
		//获得文件的字节数组
		byte [] bs = mf.getBytes();
		String fileName = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
		String oriFileName = mf.getOriginalFilename();
		
		//获得文件的后缀
		String suffix = oriFileName.substring(oriFileName.lastIndexOf("."));
		//获得上传文件的绝对路径
		String realPath = UploadUtils.readProp("file_path")+"/upload/"+fileName+suffix;
		//获得相对路径
		String relativePath = "/upload/"+fileName+suffix;
		 
               //创建jersy的客户端
		Client client = Client.create();
		//创建web资源对象
		WebResource wr = client.resource(realPath);
		//上传
		wr.put(bs);
		JSONObject jo = new JSONObject();
		jo.accumulate("realPath", realPath);
		jo.accumulate("relativePath", relativePath);
		String result = jo.toString();
		out.write(result);
	}
UploadUtils中:通过properties文件获取上传地址

public static String redaProp(String key){
		InputStream in=UploadUtils.class.getClassLoader().getResourceAsStream("system.properties");
		Properties properties=new Properties();
		try {
			properties.load(in);
			
		} catch (IOException e) {
			e.printStackTrace();
		}
		return properties.getProperty(key);
	}
system.properties文件:

file_path=http://localhost:8080/upload-file








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring MVC是一个基于Java的Web应用框架,用于构建企业级Java Web应用程序。它是Spring框架的一部分,提供了一种模型-视图-控制器(Model-View-Controller,MVC)架构,并且可以与其他Spring项目(如Spring Boot)无缝集成。 以下是一些关键概念和要点,可以帮助你进行Spring MVC开发笔记的整理: 1. DispatcherServlet: Spring MVC的核心组件,负责接收并分发客户端请求,将请求发送给相应的控制器进行处理。 2. 控制器(Controller): 控制器负责处理用户请求,并返回相应的模型和视图。通过使用注解或实现特定接口来定义控制器类。 3. 模型(Model): 模型代表应用程序中的数据结构,通常是通过POJO(Plain Old Java Objects)表示。控制器可以使用模型来存储、检索和操作数据。 4. 视图(View): 视图负责渲染模型的数据,并将其呈现给用户。可以是JSP页面、Thymeleaf模板、HTML文件等等。 5. 请求映射(Request Mapping): 通过使用@RequestMapping注解,可以将URL请求映射到相应的控制器方法中。 6. 数据绑定(Data Binding): Spring MVC提供了数据绑定功能,可以将请求参数自动绑定到控制器方法的参数中,简化了参数处理的过程。 7. 视图解析器(View Resolver): 视图解析器用于将控制器返回的逻辑视图名称解析为实际的视图。可以配置多个视图解析器,以支持不同类型的视图解析。 8. 拦截器(Interceptor): 拦截器可以在请求处理的各个阶段进行拦截,并执行相应的操作,例如身份验证、日志记录等。 9. 表单处理(Form Handling): Spring MVC提供了一组表单标签和表单处理功能,用于简化表单的验证和数据绑定过程。 10. 文件上传(File Upload): Spring MVC提供了对文件上传的支持,可以轻松地处理文件上传的操作。 这些是Spring MVC的一些基本概念和要点,希望对你整理笔记有所帮助。如果有更具体的问题或需求,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值