JS
function upload_files() {
var fileValue = $("#file").val();
if(fileValue == ""){
var msg ='<s:property value="getText('selectFile')" escape="false"/>';
setFlatMsg({'msg':msg,'backColor':'#FEFF99'});
return false;
}else{
var aa = fileValue.lastIndexOf(".");
var typeName = (fileValue.substr(fileValue.lastIndexOf(".") + 1)).toLowerCase();
if (typeName == "txt" ){
$(document).ajaxStart(function() {
$("#loading").show();
}).ajaxComplete(function() {
$("#loading").hide();
});
//var elementIds=["flag"]; //flag为id、name属性名
$.ajaxFileUpload({
url : 'a-dataDetailsUpload?uid=${attendanceData.attendanceDataId}',
secureuri : false,
fileElementId : 'file',
dataType : 'text',//返回值类型,一般设置为json、application/json
//elementIds: elementIds, //传递参数到服务器
success : function(data, status) {
var repObj = $.parseJSON(data);
if (repObj.data == 'ok') {
var msg='<s:property value="getText('uploadSuccess')" escape="false"/>';
setFlatMsg({'msg':msg});
//alert("导入成功!");
} else {
var msg='<s:property value="getText('uploadFail')" escape="false"/>';
setFlatMsg({'msg':msg,'backColor':'#FEFF99'});
//alert("数据异常!");
}
},
error : function(data, status, e) {
alert(e);
}
});
}else{
var msg='<s:property value="getText('uploadWrongFileType')" escape="false"/>';
setFlatMsg({'msg':msg,'backColor':'#FEFF99'});
}
}
}
Action
public void dataDetailsUpload(){
try {ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
String path = ServletActionContext.getRequest().getRealPath("/upload");
//String path = org.apache.struts2.ServletActionContext.getServletContext().getContextPath();
try {
File f = this.getFile();
if(!this.getFileFileName().endsWith(".txt")){
ServletActionContext.getResponse().getWriter().print("{\"data\":\"ng\"}");
return;
// return "txtReturn";
}
FileInputStream inputStream = new FileInputStream(f);
FileOutputStream outputStream = new FileOutputStream(path + "/"+ fileFileName);
byte[] buf = new byte[1024];
int length = 0;
while ((length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length);
}
inputStream.close();
outputStream.flush();
ServletActionContext.getResponse().getWriter().print("{\"data\":\"ok\"}");
} catch (Exception e) {
e.printStackTrace();
ServletActionContext.getResponse().getWriter().print("{\"data\":\"ng\"}");
}
} catch (Exception e) {
e.printStackTrace();
// return "txtReturn";
}
}