您的位置:首页 > Web前端 > JavaScript

ExtJs框架 文件上传

2016-05-21 13:45 489 查看
一、前端页面引入ExtJS

<!--ExtJs框架开始-->
<script type="text/javascript"
src="../../include/Ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../include/Ext/ext-all.js"></script>
<script src="../../include/Ext/src/locale/ext-lang-zh_CN.js"
type="text/javascript"></script>
<link rel="stylesheet" type="text/css"
href="../../include/Ext/resources/css/ext-all.css" />
<!--ExtJs框架结束-->

二、前端页面创建文本上传域 (代码888行)
var file = new Ext.form.TextField({
name : 'upload',/* name: 'file':名称,重要,因为service端要根据这个名称接收文件 */
fieldLabel : 'file upload',
inputType : 'file',
allowBlank : false,
blankText : '请浏览文件'
});
//提交按钮处理方法
var btnsubmitclick = function() {
if (uploadForm.getForm().isValid()) {
uploadForm.getForm().submit();
alert("upload success");
}
};
//重置按钮"点击时"处理方法
var btnresetclick = function() {
uploadForm.getForm().reset();
};
//表单
var uploadForm = new Ext.form.FormPanel({
frame : true,
fileUpload : true,
url : '/BMS/file/upload',
items : [ file ],
buttons : [ {
text : 'upload',
handler : btnsubmitclick
}, {
text: 'cancel',
handler: btnresetclick
}]
});

三、前端页面3583行 在items中加入uploadForm
items:[
uploadForm,

{
xtype:'textfield',
fieldLabel:'建设单位',
labelAligin:'right',
name:'buildUnit',

}
]
四、struts.xml 99行
<package name="file" extends="struts-default" namespace="/file">
<action name="upload" method="upload" class="com.jdwy.action.FileAction">
<result name="success">/BMS/index.jsp</result>
<param name="uploadPath">/upload</param>
</action>
</package>五、FileAction.java
package com.jdwy.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.struts2.ServletActionContext;

public class FileAction{
/**
*
*/
private File upload;
private String uploadFileName;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
private String uploadPath;

public String upload() throws Exception{

InputStream is=new FileInputStream(upload);
String path=ServletActionContext.getServletContext().getRealPath(uploadPath);
OutputStream os=new FileOutputStream(path+"/"+uploadFileName);

byte buffer[]=new byte[1024];
int cnt;
while((cnt=is.read(buffer))>0){
os.write(buffer,0,cnt);
}
os.close();
is.close();

return "success";
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}

public String getUploadPath() {
return uploadPath;
}
public void setUploadPath(String uploadPath) {
this.uploadPath = uploadPath;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: