struts2中文件上传问题
packagecom.test.action;importjava.io.File;importjava.io.FileInputStream;importjava.io...
package com.test.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.sun.java_cup.internal.internal_error;
public class UploadAction extends ActionSupport {
private String user;
private String pass;
private List<File> file;
private List<String> fileFileName;
private List<String> fileContentType;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public List<File> getFile() {
return file;
}
public void setFile(List<File> file) {
this.file = file;
}
public List<String> getFileFileName() {
return fileFileName;
}
public void setFileFileName(List<String> fileFileName) {
this.fileFileName = fileFileName;
}
public List<String> getFileContentType() {
return fileContentType;
}
public void setFileContentType(List<String> fileContentType) {
this.fileContentType = fileContentType;
}
@Override
public String execute() throws Exception {
for(int i=0;i<file.size();++i)
{
InputStream is = new FileInputStream(file.get(i));
String root = ServletActionContext.getRequest().getRealPath("/upload");
File destFile = new File(root,this.getFileFileName().get(i));
OutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[400];
int length = 0;
while((length = is.read(buffer)) > 0)
{
os.write(buffer,0,length);
}
is.close();
os.close();
}
return SUCCESS;
}
}
以上UploadAction测试没问题,但在upload文件夹下没有已上传的文件~~是哪儿出了问题??大虾们帮帮忙 展开
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.sun.java_cup.internal.internal_error;
public class UploadAction extends ActionSupport {
private String user;
private String pass;
private List<File> file;
private List<String> fileFileName;
private List<String> fileContentType;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public List<File> getFile() {
return file;
}
public void setFile(List<File> file) {
this.file = file;
}
public List<String> getFileFileName() {
return fileFileName;
}
public void setFileFileName(List<String> fileFileName) {
this.fileFileName = fileFileName;
}
public List<String> getFileContentType() {
return fileContentType;
}
public void setFileContentType(List<String> fileContentType) {
this.fileContentType = fileContentType;
}
@Override
public String execute() throws Exception {
for(int i=0;i<file.size();++i)
{
InputStream is = new FileInputStream(file.get(i));
String root = ServletActionContext.getRequest().getRealPath("/upload");
File destFile = new File(root,this.getFileFileName().get(i));
OutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[400];
int length = 0;
while((length = is.read(buffer)) > 0)
{
os.write(buffer,0,length);
}
is.close();
os.close();
}
return SUCCESS;
}
}
以上UploadAction测试没问题,但在upload文件夹下没有已上传的文件~~是哪儿出了问题??大虾们帮帮忙 展开
2010-01-25
展开全部
os.flush()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的图片多大?struts2有个struts.multipart.maxSize属性,默认是2M,可能是你的图片大小超过了这个值,所以就传不了了。
可以加个struts.properties文件,里面写:struts.multipart.maxSize
=
10485760,这个是10M,一般都够了。
可以加个struts.properties文件,里面写:struts.multipart.maxSize
=
10485760,这个是10M,一般都够了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那是上传的临时文件,在上传之间生成,然后删除。
还有,上传的文件名都是由
*FileName
得到。
还有,上传的文件名都是由
*FileName
得到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询