本人在开发一个二手商品的论坛,发贴的时候用户可以上传关于他要发布的商品的图片,并且别的用户在浏览他发的帖子的时候就可以看到他上传的图片。
我现在页面用了个file类型接受用户选择的图片文件,并附带其他用户的发贴信息,我怎么样实现把图片保存到服务器的指定的文件夹里面并把图片的文件名存进数据库?并且实现在我浏览该帖子的时候图片能显示出来? 哪位有这方面的开发经验能附上详细的代码吗?不胜感觉。给积分100啊~!
PS:我的图片上传是可选的,不是一定要上传图片,FORMBEAN会不会从表单得到空的file字段啊? 这个会有问题吗?
请大家帮帮我,我真的很郁闷了不想弄了...
我现在页面用了个file类型接受用户选择的图片文件,并附带其他用户的发贴信息,我怎么样实现把图片保存到服务器的指定的文件夹里面并把图片的文件名存进数据库?并且实现在我浏览该帖子的时候图片能显示出来? 哪位有这方面的开发经验能附上详细的代码吗?不胜感觉。给积分100啊~!
PS:我的图片上传是可选的,不是一定要上传图片,FORMBEAN会不会从表单得到空的file字段啊? 这个会有问题吗?
请大家帮帮我,我真的很郁闷了不想弄了...
或用common-fileupload组件都可以
<input type="file" name="fileName"/>Action:
org.apache.struts.upload.FormFile formFile=
form.get(="fileName");
String fileName = formFile.getFileName();
SaveToServer(formFile);
SaveToDB(fileName);
FormFile picture = infoForm.getPicture();
if (picture.getFileName() != null && !picture.getFileName().equals("")) {
try {
InputStream stream = picture.getInputStream();// 把文件读入
OutputStream bos = new FileOutputStream("d:/bbs/"+ picture.getFileName());// 建立一个上传文件的输出流
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);// 将文件写入服务器
}
bos.close();
stream.close();
} catch (Exception e) {
System.err.print(e);
}
}
然后你可以把文件名存入数据库中:
info.setPicture(picture.getFileName());
infoDao.addInfo(info);
google输入jsp 文件上传。
用struts那个FileUpload类