
struts2文件上传出现错误,在文件上传的时候,上传doc和图片都可以,当上传音乐和视频的时候老出错
错误是:HTTPStatus404-Noresultdefinedforactioncom.yisou.action.AddZiyuanandresultinput代码如...
错误是:HTTP Status 404 - No result defined for action com.yisou.action.AddZiyuan and result input
代码如下:
package com.yisou.action;
import java.sql.*;
import java.io.*;
import java.util.Map;
import javax.servlet.ServletContext;
import org.apache.struts2.ServletActionContext;
import com.yisou.pojo.*;
import com.yisou.conn.DBConnect;
import com.yisou.util.*;
import com.opensymphony.xwork2.ActionSupport;
public class AddZiyuan extends ActionSupport{
private Ziyuan ziyuan;
private File upload;
private String uploadFileName;
private String uploadContentType;
public Ziyuan getZiyuan(){
return ziyuan;
}
public void setZiyuan(Ziyuan ziyuan){
this.ziyuan=ziyuan;
}
public File getUpload(){
return upload;
}
public void setUpload(File upload){
this.upload=upload;
}
public String getUploadFileName(){
return uploadFileName;
}
public void setUploadFileName(String uploadFileName){
this.uploadFileName=uploadFileName;
}
public String getUploadContentType(){
return uploadContentType;
}
public void setUploadContentType(String uploadContentType){
this.uploadContentType=uploadContentType;
}
public String execute() throws Exception{
String keyword=ziyuan.getKeywords();
System.out.println(keyword);
ResultSet rs = DBConnect.getRS("select * from keyword where keyword='"+keyword+"'");
if(!rs.next()){
CnToSpell cntospell=new CnToSpell();
String pinyin=CnToSpell.getFullSpell(keyword);
String sql="insert into keyword(keyword,pinyin) values('"+keyword+"','"+pinyin+"')";
int ret = DBConnect.Update(sql);
DBConnect.close();
}
String kinds=ziyuan.getKind();
ServletContext servletContext = ServletActionContext.getServletContext();
String fileDir=servletContext.getRealPath("/");//此时为"%Tomcat 6.0%\webapps\yisou\"
fileDir=fileDir.substring(0,fileDir.lastIndexOf("\\"));//此时为"%Tomcat 6.0%\webapps\yisou"
fileDir=fileDir.substring(0, fileDir.lastIndexOf("\\")+1)+"resources";//此时为"%Tomcat 6.0%\webapps\resources"
File saveFile=null;
if("doc".equals(kinds)){//这一步可以实现
fileDir=fileDir+"/doc";
saveFile=new File(fileDir,uploadFileName);
upload.renameTo(saveFile);
//return SUCCESS;
}
if("image".equals(kinds)){
fileDir=fileDir+"/image";
saveFile=new File(fileDir,uploadFileName);
upload.renameTo(saveFile);
//return SUCCESS;
}
if("music".equals(kinds)){//上传音乐就出错误
fileDir=fileDir+"/music";
saveFile=new File(fileDir,uploadFileName);
upload.renameTo(saveFile);
//return SUCCESS;
}
if("vedio".equals(kinds)){
fileDir=fileDir+"/vedio";
saveFile=new File(fileDir,uploadFileName);
upload.renameTo(saveFile);
//return SUCCESS;
}
return SUCCESS;
}
}
这是我的上传页面,选择资源类型为doc或image时上传成功,当选择music或vedio时就出现那个错误 展开
代码如下:
package com.yisou.action;
import java.sql.*;
import java.io.*;
import java.util.Map;
import javax.servlet.ServletContext;
import org.apache.struts2.ServletActionContext;
import com.yisou.pojo.*;
import com.yisou.conn.DBConnect;
import com.yisou.util.*;
import com.opensymphony.xwork2.ActionSupport;
public class AddZiyuan extends ActionSupport{
private Ziyuan ziyuan;
private File upload;
private String uploadFileName;
private String uploadContentType;
public Ziyuan getZiyuan(){
return ziyuan;
}
public void setZiyuan(Ziyuan ziyuan){
this.ziyuan=ziyuan;
}
public File getUpload(){
return upload;
}
public void setUpload(File upload){
this.upload=upload;
}
public String getUploadFileName(){
return uploadFileName;
}
public void setUploadFileName(String uploadFileName){
this.uploadFileName=uploadFileName;
}
public String getUploadContentType(){
return uploadContentType;
}
public void setUploadContentType(String uploadContentType){
this.uploadContentType=uploadContentType;
}
public String execute() throws Exception{
String keyword=ziyuan.getKeywords();
System.out.println(keyword);
ResultSet rs = DBConnect.getRS("select * from keyword where keyword='"+keyword+"'");
if(!rs.next()){
CnToSpell cntospell=new CnToSpell();
String pinyin=CnToSpell.getFullSpell(keyword);
String sql="insert into keyword(keyword,pinyin) values('"+keyword+"','"+pinyin+"')";
int ret = DBConnect.Update(sql);
DBConnect.close();
}
String kinds=ziyuan.getKind();
ServletContext servletContext = ServletActionContext.getServletContext();
String fileDir=servletContext.getRealPath("/");//此时为"%Tomcat 6.0%\webapps\yisou\"
fileDir=fileDir.substring(0,fileDir.lastIndexOf("\\"));//此时为"%Tomcat 6.0%\webapps\yisou"
fileDir=fileDir.substring(0, fileDir.lastIndexOf("\\")+1)+"resources";//此时为"%Tomcat 6.0%\webapps\resources"
File saveFile=null;
if("doc".equals(kinds)){//这一步可以实现
fileDir=fileDir+"/doc";
saveFile=new File(fileDir,uploadFileName);
upload.renameTo(saveFile);
//return SUCCESS;
}
if("image".equals(kinds)){
fileDir=fileDir+"/image";
saveFile=new File(fileDir,uploadFileName);
upload.renameTo(saveFile);
//return SUCCESS;
}
if("music".equals(kinds)){//上传音乐就出错误
fileDir=fileDir+"/music";
saveFile=new File(fileDir,uploadFileName);
upload.renameTo(saveFile);
//return SUCCESS;
}
if("vedio".equals(kinds)){
fileDir=fileDir+"/vedio";
saveFile=new File(fileDir,uploadFileName);
upload.renameTo(saveFile);
//return SUCCESS;
}
return SUCCESS;
}
}
这是我的上传页面,选择资源类型为doc或image时上传成功,当选择music或vedio时就出现那个错误 展开
2个回答
展开全部
HTTP Status 404 - No result defined for action com.yisou.action.AddZiyuan and result input.这句已经说明了,你要在action加个<result name="input">你上传表单的jsp</result>。在这定义了,会返回你的错误,可能是上传大小限制的问题
追问
添加了以后还是不能上传
追答
发debug 的错误信息出来看看,还有你的文件大小有没有设置默认好像是2M,大了就传不上了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询