ajax 文件上传
网上找的例子,自己写了,action里始终得不到文件,输出的是0 file uploaded. 需要改哪里
</script>
<script type="text/javascript" src="/sdzw/sdzw/pages/js/jquery-1.3.2.js"> </script>
<script type="text/javascript" src="/sdzw/sdzw/pages/js/ajaxfileupload.js"> </script>
<script type="text/javascript" src="/sdzw/sdzw/pages/js/jquery.blockUI.js"> </script>
<script type="text/javascript">
function onClick_button4() {
return ajaxupload();
}
function ajaxupload()
{
$.blockUI.defaults.fadeOut=1500;
// //1.ajax开始上传前锁定界面
//$.blockUI({message:"<img src='imgs/loading.gif'/>文件上传中..."});
$("#start").ajaxStart(
function(){
$.blockUI({message:"<img src='/sdzw/sdzw/pages/js/loading.gif'/>文件上传中..."});
}
);
//2.上传
$.ajaxFileUpload
(
{
url:'jquerytest.do',
secureuri:false,
fileElementId:'file3',
dataType: 'json',
success: function (data, status)
{
if(typeof(data.error) != 'undefined')
{
if(data.error != '')
{
alert(data.error);alert('data.error');
}else
{
alert(data.msg);alert('data.msg');
}
}
},
// success: function (data, status)
// {
// //如果文件上传成功
// $.blockUI({message:data.msg});
// },
error: function (data, status, e)
{
// $.blockUI({message:data.error});
alert(e);alert('e');
}
}
)
//3 .ajax完成解锁
$("#start").ajaxComplete(function(){
$.unblockUI();
});
}
=========================================action===========================
package com.neusoft.sdzw.jquerytest;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import com.jspsmart.upload.SmartUpload;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class JquerytestAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
// TODO add your codes here
SmartUpload mySmartUpload = new SmartUpload();
int count = 0;
try {
mySmartUpload.initialize(servlet.getServletConfig(),request, response);
mySmartUpload.upload();
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
com.jspsmart.upload.File myfile = mySmartUpload.getFiles().getFile(i);
String fileName = myfile.getFileName();
count = mySmartUpload.save("/upload");
}
System.out.println(count + " file uploaded.");
} catch (Exception e) {
System.out.println("Unable to upload the file.<br>");
System.out.println("Error : " + e.toString());
}
return mapping.findForward("success");
}
}