前言

以前用Asp.net MVC+uploadify上传文件,最近学习SpringMVC,所以就用SpringMVC+uploadify做个上传文件的demo。
刚开始用form表单的方式提交,在Controller Action中用@RequestParam MultipartFile file就能拿到上传文件信息。后我直接使用uploadify的方式上传,接口没有做任何调整,上传的过程中报http400, 客户端的请求不符合接口的要求,表单post提交时报文参数是以Form Data方式,而换成uploadify时参数格式则是request payload的方式,所以把接口改写成MultipartServletRequest的方式
开发环境
SpringMVC4、Uploadify、
上传文件的话还需要下载 commons-fileupload ,同时还会下载common-io、common-logging
项目结构
普通表单上传
<form action="/User/index" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="upload"/> </form>
@RequestMapping("upload")
public @ResponseBody String upload(@RequestParam MultipartFile file) throws IOException {
String path =request.getSession().getServletContext().getRealPath("upload");
File file=new File(path,file.getOriginalFilename());
file.transferTo(file); //保存文件
return "/success";
}
uploadify上传文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Index</title>
<link href="/2sc/uploadify/uploadify.css" rel="external nofollow" rel="stylesheet" type="text/css" />
<script src="/2sc/js/jquery-1.4.2.js" type="text/javascript"></script>
<script src="/2sc/uploadify/jquery.uploadify.js" type="text/javascript"></script>
<style type="text/css">
#fileQueue {position: absolute;bottom: 0;right: 0;}
</style>
</head>
<body>
spring mvc 上传文件
<div id="fileQueue">
</div>
<input type="file" name="uploadify" id="uploadify" />
<script type="text/javascript">
$(function () {
$("#uploadify").uploadify({
'method':'post',
//指定swf文件
'swf': '/2sc/uploadify/uploadify.swf',
//后台处理的页面
'uploader': '/User/upload',
//按钮显示的文字
'buttonText': '上传图片',
//显示的高度和宽度,默认 height 30;width 120
//'height': 15,
//'width': 80,
//上传文件的类型 默认为所有文件 'All Files' ; '*.*'
//在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeDesc': 'Image Files',
//允许上传的文件后缀
'fileTypeExts': '*.gif; *.jpg; *.png',
//发送给后台的其他参数通过formData指定
'formData': { 'someKey': 'someValue'},
//上传文件页面中,你想要用来作为文件队列的元素的id, 默认为false 自动生成, 不带#
'queueID': 'fileQueue',
//选择文件后自动上传
'auto': true,
//设置为true将允许多文件上传
'multi': true
});
});
</script>
</body>
</html>
接口
@RequestMapping(value = "/upload",method = RequestMethod.POST)
public @ResponseBody String upload(HttpServletRequest request, HttpServletResponse response){
String path =request.getSession().getServletContext().getRealPath("upload");
MultipartHttpServletRequest multipartHttpServletRequest=(MultipartHttpServletRequest)request;
Map<String,MultipartFile> map = multipartHttpServletRequest.getFileMap();
System.out.println("path:"+path);
File file=new File(path);
if(!file.exists()){
file.mkdirs();
}
try{
for(Map.Entry<String,MultipartFile> entity:map.entrySet()){
MultipartFile multipartFile=entity.getValue();
File ff = new File(path,multipartFile.getOriginalFilename());
multipartFile.transferTo(ff);
}
return "success";
}catch (Exception e){
e.printStackTrace();
return "error";
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# spring
# mvc
# uploadify
# springmvc
# 上传文件
# jquery
# SpringMVC4 + MyBatis3 + SQL Server 2014整合教程(含增删改查分
# SpringMVC+bootstrap table实例详解
# springMvc注解之@ResponseBody和@RequestBody详解
# Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识
# SpringMVC中MultipartFile上传获取图片的宽度和高度详解
# SpringMVC自定义属性编辑器详解及实例
# 上传
# 表单
# 默认为
# 就能
# 则是
# 还会
# 做个
# 还需要
# 刚开始
# 不符合
# 这篇文章
# 就用
# 谢谢大家
# 不带
# 设置为
# 上传图片
# 你想要
# 自动生成
# 文件上传
相关文章:
平台云上自助建站如何快速打造专业网站?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
如何在Golang中指定模块版本_使用go.mod控制版本号
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
已有域名建站全流程解析:网站搭建步骤与建站工具选择
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
建站主机选哪家性价比最高?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
网站制作模板下载什么软件,ppt模板免费下载网站?
网页设计与网站制作内容,怎样注册网站?
建站之星在线客服如何快速接入解答?
如何基于云服务器快速搭建网站及云盘系统?
如何快速上传建站程序避免常见错误?
,制作一个手机app网站要多少钱?
建站之星与建站宝盒如何选择最佳方案?
如何在新浪SAE免费搭建个人博客?
如何登录建站主机?访问步骤全解析
网站企业制作流程,用什么语言做企业网站比较好?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
如何在宝塔面板创建新站点?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
建站之星官网登录失败?如何快速解决?
红河网站制作公司,红河事业单位身份证如何上传?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
表情包在线制作网站免费,表情包怎么弄?
如何解决VPS建站LNMP环境配置常见问题?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
C#如何使用XPathNavigator高效查询XML
如何在IIS管理器中快速创建并配置网站?
如何零成本快速生成个人自助网站?
如何在IIS中新建站点并配置端口与物理路径?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
,柠檬视频怎样兑换vip?
建站DNS解析失败?如何正确配置域名服务器?
官网网站制作腾讯审核要多久,联想路由器newifi官网
建设网站制作价格,怎样建立自己的公司网站?
TestNG的testng.xml配置文件怎么写
ui设计制作网站有哪些,手机UI设计网址吗?
专业网站建设制作报价,网页设计制作要考什么证?
如何配置IIS站点权限与局域网访问?
建站主机与虚拟主机有何区别?如何选择最优方案?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
深入理解Android中的xmlns:tools属性
建站之星ASP如何实现CMS高效搭建与安全管理?
大连网站设计制作招聘信息,大连投诉网站有哪些?
安云自助建站系统如何快速提升SEO排名?
*请认真填写需求信息,我们会在24小时内与您取得联系。