日期:2014-05-18  浏览次数:20822 次

dwr 上传文件 出错 求高手解决下谢谢(急)
错误提示 
2012-8-2 15:07:53 org.directwebremoting.util.CommonsLoggingOutput warn
警告: Marshalling exception: Missing method or missing parameter converters
2012-8-2 15:07:53 org.directwebremoting.util.CommonsLoggingOutput warn
警告: --Erroring: batchId[0] message[java.lang.IllegalArgumentException: Missing method or missing parameter converters]


后台代码

public class Dwr {
public String upload(InputStream is,String filename) throws IOException {
//WebContext可以获取HttpServlet的对象
WebContext wc = WebContextFactory.get();
HttpServletRequest req = wc.getHttpServletRequest();
String realpath = req.getSession().getServletContext().getRealPath("upload");
String fn = FilenameUtils.getName(filename);
String filepath = realpath+"/"+fn;
// FileUtils.copyInputStreamToFile(is, new File(filepath));
return filepath;
}
}

前台代码


<script type="text/javascript" src='<%=request.getContextPath()%>/dwr/engine.js '></script>
<script type="text/javascript" src='<%=request.getContextPath()%>/dwr/util.js '></script>
<script type="text/javascript" src='<%=request.getContextPath()%>/dwr/interface/myDwr.js'></script>
<script type="text/javascript">
function upload() {
var file = dwr.util.getValue("myfile");
alert(dwr.util.getValue("myfile").value);
alert(file);
myDwr.upload(file,file.value,function(data){
alert(data);
});
}
</script>
</head>
<body>
<input type="file" id="myfile"/>
<input type="button" value="上传文件" onclick="upload()"/>
</body>


dwr.xml配置


<create creator="new" javascript="myDwr">
<param name="class" value="dwrTest.Dwr" />
         <convert converter="bean" match="java.lang.StackTraceElement" />



------解决方案--------------------
我的DWR上传是这样写的
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html> 
<head>
<script type="text/javascript">
function suffixalWord(){
var len = document.getElementById("file").value.length;
if(document.getElementById("file").value.substring(len-3,len) != "doc"){
document.getElementById("form").reset();
alert("上传的文档不是Word,请重新选择");
}else document.getElementById("form").submit();
}

</script>


</head>
  <body>
  <cen