struts 2 文件上传 判断是否上传文件
各路大神,我想用struts 2 上传一个图片,但是,我不确定用户是否有上传。(就是他上传也可以,不上传也可以。)跪求你们给点帮助。
下面是action 代码
package action;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import dao.Newsdao;
import daoimpl.NewsdaoImpl;
import org.apache.struts2.ServletActionContext;
public class Inputnews
{
private String newstitle;
private String newsindex;
private File picture;
private String pictureFileName;
public String execute() throws Exception
{
String url = new String();
File saved = new File(ServletActionContext.getServletContext().getRealPath("newsupload"),pictureFileName);
InputStream ins = null;
OutputStream ous = null;
try
{
saved.getParentFile().mkdirs();
ins = new FileInputStream(picture);
ous = new FileOutputStream(saved);
byte[] b = new byte[1024];
int len = 0;
while((len = ins.read(b)) != -1)
{
ous.write(b,0, len);
}
url = "newsupload" + pictureFileName;
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(ous != null) ous.close();
if(ins != null) ins.close();
}
Newsdao newsdao = new NewsdaoImpl();
newsdao.inputnews(newstitle, newsindex, url);
return null;
}
public String getPictureFileName()
{
return this.pictureFileName;
}
public void setPictureFileName(String pictureFileName)
{
this.pictureFileName = pictureFileName;
}
public File getPicture()
{
return this.picture;
}
public void setPicture(File picture)
{
this.picture = picture;
}
public String getNewstitle()
{
return this.newstitle;
}
public void setNewstitle(String newstitle)
{
this.newstitle = newstitle;
}
public String getNewsindex()
{
return this.newsindex;
}
public void setNewsindex(String newsindex)
{
this.newsindex = newsindex;
}
}
跪求帮忙。就是想知道判断他有没有上传图片的语句是怎么写的?
------解决方案--------------------
public class upload {
public void fileload(File img,String imgFileName) throws
IOException {
InputStream is = new FileInputStream(img);
String path = ServletActionContext.getRequest().getRealPath("/img");
File file = new File(path,imgFileName);
OutputStream os = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int length = 0;
while((length=is.read(buffer))>0) {
os.write(buffer, 0, length);
}
is.close();
os.close();
}
}
这是我用的文件上传类,在action调用这个类就可以了,这样用户不上传图片也没什么问题了,用户不上传图片的时候可以给他一个默认值
------解决方案--------------------