我正在开展一个项目,我们需要能够一次选择多个文件进行上传。由于我们已经将YUI用于其他几个方面,这似乎是一个相当简单的请求。我做了一些研究并决定使用YUI的Uploader来完成这项工作。
建立一个简单的例子来熟悉组件。简单的例子是一个使用YUI库连接到Servlet的JSP,使用org.apache.commons.fileupload来处理文件。工作完美无瑕。所以我继续整合到我们的struts 2项目中。一切都很好,直到你尝试上传然后它什么都不做。所以我尝试了几件事,这就是我找到的。
如果我像这样编码YUI的上传功能
功能上传() { // alert(“upload; fileID =”+ fileID);
if(fileID !=null)
{
uploader.uploadAll( "http://localhost:8080/YUIUploaderTest/uploader","POST");
}
}
完美无缺。文件被上传和创建,群众欢欣鼓舞。
但是,如果我将其更改为生产环境应该是什么
function upload()
{
//alert("upload; fileID=" + fileID);
if(fileID !=null)
{
uploader.uploadAll( "/ECMS/certificate/massimportcertificate_uploadFiles.action","POST");
}
}
除了从闪存中抛出#2038错误之外,它什么都不做。经过大量的谷歌搜索后,我想也许我试图通过的网址是不正确的。但是,如果我将该网址放在我的浏览器中并附加http://localhost:8080/,则会触发该操作。
问题是,导致这个2038错误的原因是什么?在YUI上传器工作之前,是否需要配置Struts?
谢谢!
答案 0 :(得分:0)
您需要指定绝对路径。给出相对路径不会起作用。 希望这有帮助!