首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

uploadify3.1下传 spring+struts2+hibernate框架中取值的有关问题

2012-09-05 
uploadify3.1上传 spring+struts2+hibernate框架中取值的问题js$(document).ready(function() {$(#apkIco

uploadify3.1上传 spring+struts2+hibernate框架中取值的问题
js
  $(document).ready(function() {
 $("#apkIcon").uploadify({
'swf' : 'js/upload/uploadify.swf',
'uploader' : 'action_upload.action',
'cancel' : 'js/upload/uploadify-cancel.png',
'buttonClass' : 'uploadify-button',
'fromData' : '{'id':'${"#apkIcon"}.val()'}',
'fileObjName' : 'apkIcon',
'buttonImage' : 'js/upload/apk_ctw.gif',
'progressData' : 'percentage',
'removeCompleted': false,
'method' : 'post',
'fileTypeExts' : '*.png;*.gif;',
'width' : '65',
'height' : '30',
  'fileSizeLimit' : '256KB', 
'auto' : true,
'multi' : true,
'onUploadStart' : function(file) {
alert(file.name);
  $("#icon").attr("value",file.name);
  alert($("#icon").val());

  },
  onUploadSuccess:function(file,data,response){
  if(response){  
  $("#icondiv").html("<img src='"+data+"'>");
  }else{
  alert('上传发生错误');
  }
  },
  'onUploadError':function(file,errorCode,errorMsg,errorString){
  alert('只能上传不大于256KB的图片文件');
  },
  'onQueueComplete': function (event, data) {  
// if(data.filesUploaded>=1){  
// alert('上传成功');
// }  
}  
  });

  });
jsp:
<input type="file" id="apkIcon" name="apkIcon" >
action
 public void upload(){
  //File imageFile=new File(ServletActionContext.getServletContext().getRealPath("/uploads")+"/"+param);
//upload(up, imageFile);
try {
// 用于设定诸如缓存之类的参数,和性能相关
// 此处用默认设定
DiskFileItemFactory dfif = new DiskFileItemFactory();
// 解析表单中的数据
ServletFileUpload upload = new ServletFileUpload(dfif);
//upload.setSizeMax(10 * 1024 * 1024); // 允许上传的最大值

List list =upload.parseRequest(ServletActionContext.getRequest()); // 开始解析request对象中的表单数据
String id=ServletActionContext.getRequest().getParameter("id");
// list中是FileItem对象
// 一个FileItem用于封装一个上传的文件数据
if (list.size() >= 1) {
FileItem item = (FileItem) list.get(0);
// 获得上文件的路径名
String name = item.getName();
name = name.substring(name.lastIndexOf("\\") + 1);

// 把上传的文件数据写入本地文(服务器端)件文件夹的名字为upload
String path = "uploads";

// Sun的标准,服务器实现的API
ServletContext ctx = ServletActionContext.getServletContext();

path = ctx.getRealPath(path);
File file = new File(path);
if(!file.exists()){
System.out.println("创建文件夹");
file.mkdir();
}

System.out.println(path);
System.out.println(name);
//将文件放到指定的地方
item.write(new File(path, name));
}
} catch (Exception e) {
System.out.print("文件上传失败");
}
 
String savePath=ServletActionContext.getServletContext().getRealPath("")+"/uploads/";
try{
File folder=new File(savePath);
String filePath="C:\\Documents and Settings\\Administrator\\桌面\\R7TU[}VOOFGQQ~0)MY3IQJI.gif";//ServletActionContext.getRequest().getParameter("apkVO.apk.apkIcon");
if(!folder.exists()){
folder.mkdirs();
}
// File outFile=new File(savePath));
FileOutputStream outStream = new FileOutputStream(folder);  


FileInputStream inStream = new FileInputStream(filePath);  
byte[] buffer = new byte[1024];  
int l = 0;  
while ((l = inStream.read(buffer)) > 0) {  
outStream.write(buffer, 0, l);  
}  
inStream.close();  
outStream.close();  
}catch (Exception e) {

}

 
  }
action中方法是从网上找的,是两种方式取值,但是都取不到,我要把上传的图片或者文件写入服务器uploads文件夹下,在action中我不知道怎么取值和操作,弄了好久了,知道的大侠指点下,有具体的例子就更好,跪求啊。

[解决办法]
private File apkIcon;
private String apkIconName;

加上get set 方法 用apkIcon就是你想要得到的数据
[解决办法]
给你个参考,服务器端用的是cos上传
页面js

JScript code
html:<input type="file" style="width:403px; height:19px; line-height:19px; border:1px solid #c9caca;" name="uploadify" id="uploadify" /><div id="fileQueue"></div><div id="resData" ></div>js:<script type="text/javascript">$(document).ready(function() {      $("#uploadify").uploadify({       'uploader'       : '/js/uploadify/uploadify.swf',       'script'         : '/upload.jsp',//action的路径       'method'         : 'GET',  //如果要传参数,就必须改为GET       'cancelImg'      : '/js/uploadify/cancel.png',       'fileDataName'   : 'uploadify',//和input的name属性值保持一致就好       'queueID'        : 'fileQueue',       'folder'         : 'uploadfiles',       'auto'           : false, //选定文件后是否自动上传,默认false       'simUploadLimit' : 1, //一次同步上传的文件数目         'sizeLimit'      : 1024*1024, //设置单个文件大小限制,单位为byte          'buttonImg'      : '/js/uploadify/select.jpg',       'height'         : '21',       'width'          : '90',       'queueSizeLimit' : 1, //限制在一次队列中的次数(可选定几个文件)。默认值= 999,而一次可传几个文件有 simUploadLimit属性决定。       'fileDesc'       : '支持格式:jpg', //如果配置了以下的'fileExt'属性,那么这个属性是必须的         'fileExt'        : '*.jpg',//允许的格式       'onComplete'  : function(event, ID, fileObj, response, data) {                var filemark =  document.getElementById('filename').value;            document.getElementById('filename').value=filemark+","+response;       },       'onAllComplete' : function(event,data) {                  document.caseForm.submit();        }      });           }); </script> 

热点排行