日期:2014-05-16 浏览次数:20540 次
ExtJs4.0
?
js代码:
//文件上传与spring交互
Ext.onReady(function(){
Ext.create('Ext.form.Panel', {
title: 'File Uploader',
width: 400,
bodyPadding: 10,
frame: true,
renderTo: Ext.getBody(),
items: [{
xtype: 'filefield',
name: 'file',
fieldLabel: 'File',
labelWidth: 50,
msgTarget: 'side',
allowBlank: false,
anchor: '100%',
buttonText: 'Select a File...'
}],
buttons: [{
text: 'Upload',
handler: function() {
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: 'upload.htm',
waitMsg: 'Uploading your file...',
success: function(fp, o) {
Ext.Msg.alert('Success', o.result.mess);
}
});
}
}
}]
});
});
?
?
controller:
package com.kevin.controller;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.kevin.model.ExtJSFormResult;
import com.kevin.model.FileUploadBean;
import com.kevin.util.GlobalService;
/**
* 文件上传与下载Spring Mvc与ExtJs4
* @author Administrator
*
*/
@Controller
public class FileUploadController {
@RequestMapping(value="/upload",method = RequestMethod.POST)
public void upload1(FileUploadBean userVO,HttpServletResponse response) throws Exception{
if(!userVO.getFile().isEmpty()){
userVO.getFile().transferTo(new File("f:/upload/"+userVO.getFile().getOriginalFilename()));
}
//String json = "{success: true}";
response.setContentType(GlobalService.CONTENT_TYPE);
response.getWriter().write(GlobalService.UPLOAD_SUCCESS);
response.flushBuffer();
}
}
?
?
GlobalService全局的变量类:
package com.kevin.util;
/**
* 全局服务类
* @author Administrator
*
*/
public final class GlobalService {
/**
* @author:limingzhong
* @desc:定义相关全局静态变量
* @Date:2012-02-28
*/
public final static String UPLOAD_SUCCESS = "{success:true,mess:'文件上传成功!'}";
public final static String UPLOAD_FAILURE = "{success:false,mess:'文件上传失败!'}";
public final static String FILE_NO = "{success:false,mess:'文件不存在!'}";
public final static String FILE_YES = "{success:true,mess:'文件存在!'}";
public final static String CONTENT_TYPE = "text/html";
public final static String APPLICATION = "application/octet-stream";
public final static String PATH="F:\\upload";
}
?
FileUploadBean类,封闭file
?
package com.kevin.model;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
/**
* Represents file uploaded from extjs form
*
* @author Loiane Groner
* http://loiane.com
* http://loianegroner.com
*/
public class FileUploadBean {
private CommonsMultipartFile file;
public CommonsM