Struts2 我文件上传可以了,但上传不到特定的文件夹里面,在tomcat里面 5
//将上传的多个文件对象封装到List集合privateList<File>upload;//将多个文件名封装到List集合中privateList<String>upl...
//将上传的多个文件对象封装到List集合
private List<File> upload;
//将多个文件名封装到List集合中
private List<String> uploadFileName;
// 如果需要上传文件的类型,可将封装至List集合中,本实例不需要所以将其注释
private List<String> uploadContentType;
// 该方法用于完成多文件的上传操作
// 删除图片
public String delphoto() {
photoService.delPhoto(2);
return "delphoto";
}
//添加图片
public String addPhoto() throws Exception {
//String rootPath=this.getClass().getResource("/").toString();
// 获取绝对路径
String rootPath = ServletActionContext.getServletContext().getRealPath("/");
System.out.println(rootPath);
// 遍历装有多个上传文件的List<file>集合
for (int i = 0; i < upload.size(); i++) {
// 由于上传文件较多,使用BufferedInputStream封装FileInputStream提高读取文件的速度
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(upload.get(i)));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(rootPath + "/uploads/"
+ uploadFileName.get(i)));
int data = 0;;// 定义一个保存读取出文件中字节的临时变量
// 将每次读取到的文件每一个字节赋值给data,data不等于-1说明没有读取到文件
while ((data = bis.read()) != -1) {
// 将读取到的数据通过文件输出流writer方法写如到目标文件中
bos.write(data);
}
bis.close();// 关闭字节缓冲输入流
bos.close();// 关闭字节缓冲输出流
//保存数据库
Picture picture = new Picture();
picture.setPictureUrl(uploadFileName.get(i));
this.getPhotoService().addPhoto(picture);
}
return "addPhoto";
} 展开
private List<File> upload;
//将多个文件名封装到List集合中
private List<String> uploadFileName;
// 如果需要上传文件的类型,可将封装至List集合中,本实例不需要所以将其注释
private List<String> uploadContentType;
// 该方法用于完成多文件的上传操作
// 删除图片
public String delphoto() {
photoService.delPhoto(2);
return "delphoto";
}
//添加图片
public String addPhoto() throws Exception {
//String rootPath=this.getClass().getResource("/").toString();
// 获取绝对路径
String rootPath = ServletActionContext.getServletContext().getRealPath("/");
System.out.println(rootPath);
// 遍历装有多个上传文件的List<file>集合
for (int i = 0; i < upload.size(); i++) {
// 由于上传文件较多,使用BufferedInputStream封装FileInputStream提高读取文件的速度
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(upload.get(i)));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(rootPath + "/uploads/"
+ uploadFileName.get(i)));
int data = 0;;// 定义一个保存读取出文件中字节的临时变量
// 将每次读取到的文件每一个字节赋值给data,data不等于-1说明没有读取到文件
while ((data = bis.read()) != -1) {
// 将读取到的数据通过文件输出流writer方法写如到目标文件中
bos.write(data);
}
bis.close();// 关闭字节缓冲输入流
bos.close();// 关闭字节缓冲输出流
//保存数据库
Picture picture = new Picture();
picture.setPictureUrl(uploadFileName.get(i));
this.getPhotoService().addPhoto(picture);
}
return "addPhoto";
} 展开
2016-06-25
展开全部
你在这个构造函数里面调用了fileName的get方法,但是你没用set方法给他赋值,String类型的变量在没有被初始化的时候,都是null的,也就是空指针
追问
请问要怎么改呢 谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询