springmvc+ext只能上传一张图片
来源:互联网 发布:淘宝收藏在线制作 编辑:程序博客网 时间:2024/04/30 14:47
使用springmvc+ext编写多文件上传,只能上传一张图片,后面就不上传了
jsp页面:
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>swf 上传</title>
<link rel="stylesheet" type="text/css"
href="<%=basePath%>res/second/js/ext/css/ext-all.css" />
<SCRIPT LANGUAGE="JavaScript">
function killErrors() { return true; }
window.onerror = killErrors;
</SCRIPT>
</head>
<body>
<script type="text/javascript" src="<%=basePath%>res/second/js/ext/ext-base.js"></script>
<script type="text/javascript" src="<%=basePath%>res/second/js/ext/ext-all.js"></script>
<script src="<%=basePath%>res/second/swf/swfupload.js" type="text/javascript"></script>
<script src="<%=basePath%>res/second/swf/swfupload.speed.js" type="text/javascript"></script>
<script src="<%=basePath%>res/second/swf/mode.js" type="text/javascript"></script>
<script src="<%=basePath%>res/second/swf/handlers.js" type="text/javascript"></script>
<script type="text/javascript" src="<%=basePath%>res/second/js/ext/prototype/prototype.js"></script>
<script type="text/javascript" src="<%=basePath%>res/second/js/ext/bramus/jsProgressBarHandler.js"></script>
<script type="text/javascript">
// 允许上传文件的全部大小
var limtallsize=50000000;
function UploadGrid()
{
var mine=this;
var states=[{v:-1,t:'等待'},{v:0,t:'就绪'},{v:1,t:'上传中'},{v:2,t:'停止'},{v:3,t:'成功'},{v:4,t:'失败'}];
function statesRender(v)
{
for(var i=0;i<states.length ;i++)
{
if(states[i].v==v)
{
return states[i].t;
}
}
}
function rateRender(value, metaData, record, rowIndex, cellIndex, store)
{
v=value?value:0;
//return "<table border='0' cellpadding='0' cellspacing='0' width='100%' height='100%'><tr><td bgcolor='#0000FF' height='100%' align='center' width='"+v+"%'><font color='white'>"+v+"%</font></td><td></td></tr></table>";
//setProgress(v);
return "<span id=\"element6_"+record.data.id+"\" rate=\""+v+"\"></span>";
}
var rn=new Ext.grid.RowNumberer();
var sm = new Ext.grid.CheckboxSelectionModel({singleSelect:false});
var cm = new Ext.grid.ColumnModel([
rn,
sm,
{header:'文件名称',dataIndex:'fileName',menuDisabled:true,width: 100},
{header:'大小' ,dataIndex:'fileSize',menuDisabled:true,width: 100},
{header:'进度' ,dataIndex:'rate',menuDisabled:true,width: 180,renderer:rateRender},
{header:'速度' ,dataIndex:'speed',menuDisabled:true},
{header:'状态' ,dataIndex:'state',menuDisabled:true,renderer:statesRender}
]);
this.ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'test!query.action',method:'post'}),
remoteSort:false,
reader: new Ext.data.JsonReader(
{totalProperty:'records',root:'root'},
[
{name: 'id'},
{name: 'fileName'},
{name: 'code'},
{name: 'fileSize'},
{name: 'rate'},
{name: 'speed'},
{name: 'state'}
])
});
var RC=Ext.data.Record.create([
{name: 'id', mapping: 'id'},
{name: 'code', mapping: 'code'},
{name: 'fileName', mapping: 'fileName'},
{name: 'fileSize', mapping: 'fileSize'},
{name: 'rate', mapping: 'rate'},
{name: 'speed', mapping: 'speed'}
]);
this.grid = new Ext.grid.GridPanel({
ds: mine.ds,
cm: cm,
sm: sm,
anchor:'100%',
loadMask:{msg:'数据加载中...'},
viewConfig:{forceFit:true},
height:300,
width :600,
tbar:[{id:'spanSWFUploadButton',text:'-'},'-'],
listeners:{
render:function()
{
// ytb-sep
var cmp=Ext.getCmp("spanSWFUploadButton");
var pcont=cmp.getEl().parent();
pcont.update("<span id='spanSWFUploadButton' class='blank'></span>");
var swfu = new SWFUpload({
upload_url : "<%=basePath %>gz/billsDisct/uploadPhoto",
post_params : {
"god" : "god","uid" : "u"
},
flash_url : '<%=basePath%>res/second/swf/swfupload.swf',
button_placeholder_id : "spanSWFUploadButton",
button_image_url : '<%=basePath%>res/second/swf/bt.png',
button_text_right_padding : 100,
button_width: 61,
button_height : 22,
button_action : SWFUpload.BUTTON_ACTION.SELECT_FILES,
// handler here
swfupload_loaded_handler : Handlers.swfUploadLoaded,
file_queued_handler : Handlers.fileQueued,
file_queue_error_handler : Handlers.fileQueueError,
upload_progress_handler : Handlers.uploadProgress,
upload_error_handler : Handlers.uploadError,
upload_success_handler : Handlers.uploadSuccess
});
swfu.grid=mine.grid;
swfu.ds=mine.ds;
swfu.RC=RC;
}
}
});
}
Ext.onReady(function(){
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
Ext.BLANK_IMAGE_URL ='<%=basePath%>res/second/js/ext/images/vista/s.gif';
var grid=new UploadGrid();
var win = new Ext.Window({
title:'上传图片测试',
el:'panel',
width:620,
height:350,
closeAction:'hide',//关闭窗口时渐渐缩小
plain: true,
items:[grid.grid],
buttons: [{
text:'Submit',
disabled:true
},{
text: 'Close',
handler: function(){
win.hide();
}
}]
});
win.show(this);
})
</script>
<div id="panel"></div>
<input type="file" accept="image/*"/>
</body>
</html>
后台:
package com.cmbc.gz.second.manager.controller;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
@Controller
@RequestMapping(value = "gz/billsDisct")
public class BillsDisctQueryController {
@RequestMapping(value = "toUploadPhoto")
public String toUploadPhoto(HttpServletRequest request) {
System.out.println("11111");
return "gz/secondView/billsDiscounted/uploadPhoto";
}
@RequestMapping(value = "uploadPhoto")
public String uploadPhoto(HttpServletRequest request, @RequestParam(value="Filedata", required=false) CommonsMultipartFile[] Filedata) {
// 上传路径
String path2 = "D:\\upload\\";
String realPath = request.getSession().getServletContext()
.getRealPath("fileName");
System.out.println("realPath:" + realPath);
String s = (String) request.getParameter("god");
String s2 = (String) request.getParameter("uid");
System.out.println("s:" + s + ",s2:" + s2);
//System.out.println("fileSize:"+Filedata.length);
for(int i =0;i<Filedata.length;i++){
String FiledataFileName = Filedata[i].getOriginalFilename();
System.out.println("FiledataFileName:" + FiledataFileName);
File dirF = new File(realPath);
if (!dirF.exists()) {
dirF.mkdir();
} else
System.out.println("文件不存在");
File targetFile = new File(path2, FiledataFileName);
// 方法将上传文件写到服务器上指定的文件
try {
Filedata[i].transferTo(targetFile);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 保存路径到数据库
String savePath = FiledataFileName + "\\" + FiledataFileName;
}
return null;
}
}
- springmvc+ext只能上传一张图片
- thinkphp上传多张图片只能上传一张的问题
- iOS多张图片总是只能上传一张的问题
- FormData多图片上传(每次只能传送最后一张图片的问题)
- 上传一张图片
- Thinkphp多图上传只能传一张
- Ext上传图片
- Ext 图片上传
- IOS上传一张图片--- AFNetworking
- 拖拽上传图片(只能上传单张)
- Ext图片上传之预览
- Ext图片上传之预览 .
- ext.net图片上传代码
- SpringMVC 上传图片
- SpringMvc上传图片
- springMVC多图片上传
- SpringMVC图片上传
- springmvc上传多图片
- MFC中_stscanf, _stprintf, _T 的使用
- sql server 约束 查找
- java的修饰符
- [wordpress搬家]未来几天连续奋战android了
- svn简介与使用
- springmvc+ext只能上传一张图片
- 解决Xcode删除文件后missing file警告
- iOS 网络封装
- Github error – fatal: Unable to look up github.com (port 9418) (Name or service not known)
- VC 所有的窗口样式
- TortoiseGit提交每次都需要输入用户名密码解决方法
- java string类
- iOS AVAudioPlayer播放不了android录制的音频
- 大数据时代CIO和CTO们必备五大硬功