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";

}
展开
 我来答
匿名用户
2016-06-25
展开全部
你在这个构造函数里面调用了fileName的get方法,但是你没用set方法给他赋值,String类型的变量在没有被初始化的时候,都是null的,也就是空指针
追问
请问要怎么改呢  谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式