Ext 파일 업로드 사례

3200 단어 htmlextF#
하나.파일 업로드 폼 정의
 
		rms.custManage.custAbnormalApplyDetailUploadPanel = Ext.extend(Ext.FormPanel,{
			labelAlign : 'right',
			buttonAlign:'center',
			labelWidth : 65,
			height:80,
			frame : true,
			border : false,		
			layout : 'table',
			layoutConfig : {
				columns : 2
			},
			id:'custAbnormalApplyDetailUploadPanel',
			fileUpload : true,
			initComponent:function(){					
				this.items = [{
							layout : 'form',
							style : 'margin-top:5px;',
							items : [{
										xtype : 'textfield',
										fieldLabel : ' ',
										id : 'file',
										name : 'file',
										inputType : 'file',
										width : 300
									}]
						}, {
							layout : 'form',
							style : 'margin-left:10px;',
							items : [{
										xtype : 'button',
										text : ' ',
										width : 50,
										handler : uploadFile
									}]
						}, {
							colspan : 2,
							xtype : 'box',
							html : "<div id='docDiv'  style='font-size: " +
									"x-small;padding-left:70px;'>"+
									+ "</div>",
							autoHeight : true
						}];		
				//  
				rms.custManage.custAbnormalApplyDetailUploadPanel
										.superclass.initComponent.call(this);
			}
		})

주의점: 1.Ext.form.TextField에서 inputType:'file'설치;                   2.form의 fileUpload는true로 설정됩니다.
 
2.양식 제출 처리
 
	uploadForm.getForm().submit({
			method : 'post',
			url : ctx
					+ '/pages/custManage/custAbnormalUpload.page',
			waitMsg : ' ...',
						success : function(f, action) {
			},
			failure : function() {
			}
		});

 
셋.백그라운드 제어 처리
 
@RequestMapping("/pages/custManage/custAbnormalUpload.page")
public void uploadFile(HttpServletRequest request,
		HttpServletResponse response) throws Exception {	
	//  
	MultipartHttpServletRequest multipartRequest = 
							   (MultipartHttpServletRequest) request;
	CommonsMultipartFile file = (CommonsMultipartFile)
							   multipartRequest.getFile("file");	
    //  
	DataOutputStream out = new DataOutputStream(new FileOutputStream(filePath));
	InputStream is = null;//  
	try{
		is = file.getInputStream();			
		byte[] buffer = new byte[1024];
		while (is.read(buffer) > 0) {
			out.write(buffer);//  ;
		}
	}catch(Exception e){
		throw e;
	}finally{
		if (is != null) {					
			is.close();
		}
		if (out != null) {
			out.flush();
			out.close();
		}
	}
	return null;
}

 
주의점: 데이터베이스에 저장하려면 원본 파일 이름과 저장 경로를 저장해야 합니다. 저장 경로의 파일 이름은 무작위 시간으로 파일 이름입니다.

좋은 웹페이지 즐겨찾기