spring+jquery 实现文件上传,二次发送
2016-07-19 17:23
483 查看
</pre><h1>后台:</h1><pre name="code" class="java">package com.li.Controller; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import com.li.Base.BaseController; import com.li.Table.PublicPicTable; import com.li.Table.PublicPicTable.PublicPic; @Controller @RequestMapping(value = "manager") public class ManagePlatFormController extends BaseController { @RequestMapping(value = "upload") public void Upload(@RequestParam("pic") MultipartFile[] files, @RequestParam("url")String[] urls, HttpServletResponse response) { String strRet = String.format("{\"status\":\"%d\",\"info\":\"", 1); for (int i = 0; i < files.length; i++) { if (!files[i].isEmpty()) { try { InputStream is = files[i].getInputStream(); String path = "D:/" + System.currentTimeMillis() + files[i].getOriginalFilename(); FileOutputStream os = new FileOutputStream(new File(path)); int count = 0; byte[] bytes = new byte[1024]; while((count = is.read(bytes)) != -1) { os.write(bytes); } os.flush(); os.close(); is.close(); if (i == 0) { strRet += String.format("%s#%s", urls[i], path); continue; } strRet += String.format("&%s#%s", urls[i], path); } catch (Exception e) { // TODO: handle exception } } } strRet += "\"}"; ResponseJson(response, strRet); } @RequestMapping(value = "addpublicpic") public void AddPublicPic(HttpServletRequest request, HttpServletResponse response) { String strJson = GetRequestBody(request); JSONObject JsonRoot = JSONObject.fromObject(strJson); PublicPicTable lTable = new PublicPicTable(); PublicPic lb = lTable.FromJson(JsonRoot); boolean bRet = lTable.AddRecord(lb); if (false == bRet) { ResponseJson(response, "{\"status\":0,\"info\":\"异常\"}"); return; } ResponseJson(response, "{\"status\":1,\"info\":\"\"}"); } }
html:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <!-- 兼容IE8--> <meta http-equiv="X-UA-COMPATIBLE" content="IE=edge"> <!--设备宽度比例为1,实现响应式--> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>发布管理</title> <!--导入bootstrap的Css样式--> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/base.css" rel="stylesheet"> <link href="css/lunbo.css" rel="stylesheet"> </head> <body> <div class="top"> <p>左左运动后台欢迎您</p> </div> <div class="leftbody"> <ul class="nav nav-pills nav-stacked"> <li role="presentation"><a href="index.jsp">主界面</a> </li> <li role="presentation" class="active"><a href="lunbo.jsp">轮播图</a> </li> </ul> </div> <div class="rightbody"> <div class="righttitle"> <h1>轮播图</h1> </div> <div style="margin-left: 5%; margin-right: 5%;"> <form class="form-horizontal myform" id="lunboform" role="form"> <h3 class="text-center">发布</h3> <div class="form-group"> <label for="aihaoid" class="col-sm-1 control-label">爱好ID</label> <div class="col-sm-10"> <input type="text" class="form-control" id="aihaoid" placeholder="请输入爱好ID"> </div> </div> <div class="form-group"> <label for="pic1" class="col-sm-1 control-label">轮播图1)</label> <div class="col-sm-4"> <input type="file" class="form-control" id="pic1" name="pic"> </div> <label for="url1" class="col-sm-offset-1 col-sm-1 control-label">链接1)</label> <div class="col-sm-4"> <input type="text" class="form-control" id="url1" name="url"> </div> </div> <div class="form-group"> <label for="pic2" class="col-sm-1 control-label">轮播图2)</label> <div class="col-sm-4"> <input type="file" class="form-control" id="pic2" name="pic"> </div> <label for="url2" class="col-sm-offset-1 col-sm-1 control-label">链接2)</label> <div class="col-sm-4"> <input type="text" class="form-control" id="url2" name="url"> </div> </div> <div class="form-group"> <label for="pic3" class="col-sm-1 control-label">轮播图3)</label> <div class="col-sm-4"> <input type="file" class="form-control" id="pic3" name="pic"> </div> <label for="url3" class="col-sm-offset-1 col-sm-1 control-label">链接3)</label> <div class="col-sm-4"> <input type="text" class="form-control" id="url3" name="url"> </div> </div> <div class="form-group"> <label for="pic4" class="col-sm-1 control-label">轮播图4)</label> <div class="col-sm-4"> <input type="file" class="form-control" id="pic4" name="pic"> </div> <label for="url4" class="col-sm-offset-1 col-sm-1 control-label">链接4)</label> <div class="col-sm-4"> <input type="text" class="form-control" id="url4" name="url"> </div> </div> <div class="form-group"> <label for="pic5" class="col-sm-1 control-label">轮播图5)</label> <div class="col-sm-4"> <input type="file" class="form-control" id="pic5" name="pic"> </div> <label for="url5" class="col-sm-offset-1 col-sm-1 control-label">链接5)</label> <div class="col-sm-4"> <input type="text" class="form-control" id="url5" name="url"> </div> </div> <div class="form-group"> <div class="col-sm-offset-1 col-sm-10"> <button type="submit" id="lunbosubmit" class="btn bg-primary btn-block">登录</button> </div> </div> </form> </div> </div> <div class="navbar-fixed-bottom;"> <p> <a>©运动</a> </p> </div> <!--导入依赖的JQuery--> <script src="js/jquery-1.9.1.min.js"></script> <!--导入bootstrap的js文件--> <script src="js/bootstrap.min.js"></script> <!--导入ajax.form的js文件--> <script src="js/jquery.form.min.js"></script> <!--ajaxfileupload--> <script src="js/ajaxfileupload.js"></script> <script src="js/fileupload.js"></script> </body> </html>
js:
$(document).ready(function() {$('#lunboform').ajaxForm({
url: '../manager/upload',
type: 'post',
dataType: 'JSON',
success: function (data) {
$.ajax({
url:"../manager/addpublicpic",
data:"{\"aihaoid\":\""+$('#aihaoid').val()+"\",\"pics\":\""+data.info+"\"}",
type:"post",
success:function(a){
alert(a.info);
}
});
},
error: function (data, status, e)
{
alert("【服务器异常,请连续管理员!】"+e);
}
});
});
相关文章推荐
- jquery中filter与grep的区别【笔记】
- 十条JQuery代码片段提升你的开发速度
- jQuery 之 获取页面内容和属性(六)
- jQuery实例:输入框下拉提示,仿google suggest
- jQuery 2.0.3 源码分析 bind/live/delegate/on
- jQuery事件:mouseleave 与 mouseout 的不同
- jquery easyui DataGrid 数据表格 属性
- jQuery Event.delegateTarget属性详解
- [转]JqueryEasyUI教程入门篇
- jquery 中 closest和parent用法
- 幻灯片插件-jquery.sliderPro.min.js
- jQuery选择器和选取方法
- 在webpack.config.js中配置jquery
- jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
- jquery的each()详细介绍
- jquery ui autocomplete 模拟百度搜索自动提示
- JQuery在hover(in)状态下添加click事件的多次触发现象
- 用js和jQuery分别实现选项卡功能
- jquery图表插件morris.js参数详解和highcharts图表插件
- 网站常用jquery小控件总结