最近在做一个Struts2+spring+hibernate的文件上传,单元测试没有问题,不过,这个存入数据库的Blob对象是通过new关键字创造一个文件对象,然后创建一个输入流fin,再用Hiberante.createBlob(fin)生成的.但是,我想从JSP页面的文件域里面取得一个文件对象,然后再创建Blob,部分代码如下:
public Integer uploadImage(Integer userId,List <String> title,List <File> photos) throws BlogException {
List <File> files = photos ;//从页面上来的文件对象列表
int length = files.size();
List <String> titles = title;//文件标题列表
Integer pId = null;
for(int i = 0 ; i < length ; i++){
try {
/**从列表中取出一个文件对象,用来创建一个输入流(就在这个地方出现了" InputStream cannot be resolved"问题,这是断点调试时的结果)最后在
JSP异常页面打印出的异常信息是:"java.lang.ClassCastException: java.lang.String "**/
InputStream fin = new FileInputStream(files.get(i));
Blob photoContext = Hibernate.createBlob(fin);
Photo photo = new Photo();
User user = userDao.get(userId);
photo.setUser(user);
photo.setTitle(titles.get(i));
photo.setPhotocontext(photoContext);
photoDao.save(photo);
pId = photo.getPhotoId();
} catch (FileNotFoundException e) {
e.printStackTrace();
throw new BlogException("上传文件没有找到,请检查操作是否合法!");
} catch (IOException e) {
e.printStackTrace();
throw new BlogException("IO操作异常!");
}
}
return pId;
}
敬请各位前辈指教!小弟不胜感激!!
public Integer uploadImage(Integer userId,List <String> title,List <File> photos) throws BlogException {
List <File> files = photos ;//从页面上来的文件对象列表
int length = files.size();
List <String> titles = title;//文件标题列表
Integer pId = null;
for(int i = 0 ; i < length ; i++){
try {
/**从列表中取出一个文件对象,用来创建一个输入流(就在这个地方出现了" InputStream cannot be resolved"问题,这是断点调试时的结果)最后在
JSP异常页面打印出的异常信息是:"java.lang.ClassCastException: java.lang.String "**/
InputStream fin = new FileInputStream(files.get(i));
Blob photoContext = Hibernate.createBlob(fin);
Photo photo = new Photo();
User user = userDao.get(userId);
photo.setUser(user);
photo.setTitle(titles.get(i));
photo.setPhotocontext(photoContext);
photoDao.save(photo);
pId = photo.getPhotoId();
} catch (FileNotFoundException e) {
e.printStackTrace();
throw new BlogException("上传文件没有找到,请检查操作是否合法!");
} catch (IOException e) {
e.printStackTrace();
throw new BlogException("IO操作异常!");
}
}
return pId;
}
敬请各位前辈指教!小弟不胜感激!!