springmvc04-文件上传-JSON数据
文件上传部分:
1, 导入commons-fileupload-1.2.2.jar commons-io-2.4.jar 两个jar包.
2, 在主配置文件中,添加如下信息
<!-- 文件上传--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 配置上传的最大字节数 --> <property name="maxUploadSize" value="10000000"/> <property name="defaultEncoding" value="UTF-8"/> <property name="maxInMemorySize" value="102400"/> <!-- 貌似上传到的路径无法配置--> </bean>
3, 在上传文件的表单中一定要设置 enctype="multipart/form-data"
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>上传文件演示</title> </head> <body> <sf:form method="post" action="upload" enctype="multipart/form-data"> <input type="file" name="attach" /> <!-- 多个文件上传时,这样使用即可 <input type="file" name="attachs" /> <input type="file" name="attachs" /> <input type="file" name="attachs" /> --> <input type="submit" value="提交" /> </sf:form> </body> </html>
后台中的action的处理
/** * 如果上传多个文件,使用 @RequestParam MultipartFile[] attachs,然后遍历,一个个上传即可 * 单个文件使用 MultipartFile attach,不需要那个注解 */ public String upload( MultipartFile attach,HttpServletRequest request) throws IOException{ //getName()得到的是属性名 //getOriginalFilename() 得到的是上传过来的文件名 System.out.println(attach.getName()+","+attach.getOriginalFilename()+","+attach.getContentType()); String realPath=request.getSession().getServletContext().getRealPath("/resources/upload"); //默认上传到了--> D:\workspace-esb\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\springmvc\resources\upload File file = new File(realPath+"/"+attach.getOriginalFilename()); FileUtils.copyInputStreamToFile(attach.getInputStream(), file); return "redirect:/user/users"; //这个返回的视图是随便写的. }
返回json数据部分:
/** * @PathVariable:路径中的变量 * */ @RequestMapping(value="/{name}",method=RequestMethod.GET) public String show(@PathVariable String name,Model model){ model.addAttribute(users.get(name)); return "/user/show"; } /** * 返回Json类型数据: * 1, 导入jackson-all-1.9.11.jar * 2, 直接返回对象即可 * 3, 使用注解@ResponseBody * 3,为了区别上面的show()方法的requestMapping,加入params属性 */ @RequestMapping(value="/{name}",method=RequestMethod.GET,params="json") @ResponseBody public User show(@PathVariable String name){ return users.get(name); }
第一个show()方法是普通的返回jsp页面的视图,第二个show()方法就是返回json格式的数据
springmvc04-文件上传-JSON数据的更多相关文章
- 移动商城第四篇【Controller配置、添加品牌之文件上传和数据校验】
Controller层配置 编写SpringMVC的配置文件 springmvc.xml <?xml version="1.0" encoding="UTF-8&q ...
- day060 ajax文件上传 json补充
请求头ContentType 文件上传时需要指定请求头,常见的类型有3种: 1.application/x-www-form-urlencoded(可以类比成在url后面拼接的形式发送,即a=1&am ...
- .Net文件上传--小数据--un
文件上传控件:FileUpload - 控件,界面+方法+属性Button/LinkButton/ImageButton FileUpload控件:1.SaveAs("要上传到服务器的绝对路 ...
- [iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数
A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONS ...
- POST 上传 JSON 数据
// // ViewController.m // 03-post上传json // // Created by jerry on 15/10/10. // Copyright (c) 2015年 j ...
- 使用bottle进行web开发(9):文件上传;json传递
1.文件上传 如果要完成文件上传,则需要对上文的form做一点改动,具体如下: <form action="/upload" method="post" ...
- springmvc笔记(基本配置,核心文件,路径,参数,文件上传,json整合)
首先导入jar包 大家注意一下我的springmvc,jackson,common-up的jar包版本.其他版本有可能出现不兼容. src文件: webroot目录: web.xml <?xml ...
- C语言采用socket实现http post方式上传json数据
1.按照HTTP协议发送请求: http POST 报文格式 http 报文是面向文本的. 报文分为:请求报文和响应报文 请求报文由:请求行,请求头部,空行和请求数据四个部分组成. <1.请求行 ...
- php curl 上传json数据
PUT $data = array('username'=>'dog','password'=>'tall'); $data_json = json_encode($data); $ch ...
随机推荐
- django服务器正常打开,本地localhost能连上,其他计算机却连不上
最近在学习Django,在搭建好django并且启动服务器后,遇到了麻烦. 问题现象: django服务器正常打开,本地localhost能连上,其他计算机却连不上 问题原因(可能存在原因): 这里的 ...
- jsp 的四个作用域 :page、request、session和application的区别 (转)
1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可以 ...
- MySQL 服务日志
翻译自 dev.mysql.com/doc/refman/5.7/en/log-destinations.html 一.选择常规查询日志和慢查询输出日志的目的地 MySQL提供了灵活的控制对常规查询和 ...
- C# 实例练习(第二天)
实例练习 1. 完成简单登录效果,设置用户登录账号密码,清空控制台,进入登录页面,请求用户输入账号.密码和验证码(随机产生),并判断用户输入的信息,给出相应的提示. C#代码如下: 主要知识点: (1 ...
- 一个页面多个iframe赋值
先在页面上设置一个元素: <input type="hidden" id="content" value={$content}> 使用前端技术获取父 ...
- python tkinter学习——tkinter部件1
tkinter部件 一.Tk() & Label() & Button() 1,Tk() 窗口 用Tk()创建窗口对象: #文件名:test1.py import tkinter as ...
- python常用的数据结构运行效率分析
1.while循环和for循环相同条件下的运行效率比较: 如下代码: import time as tm import timeit as tt import random as rm def whi ...
- java面向对象(二)之继承
继承 介绍 继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力.继承即常说的is-a关系.子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承 ...
- UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制
本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持. 首先我们来看一下 SVG 的文件结构和组成 SVG ( ...
- SQL Server锁类型
SQL Server锁类型(SQL)收藏 1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁. 2. NOLOCK:不添加共享锁和排它锁,当这个选项生 ...