upload-求大神解答ssh上传文件报NullPointerException

问题描述

求大神解答ssh上传文件报NullPointerException

页面代码:

Action:
public String uplo() throws Exception{
String root=ServletActionContext.getServletContext().getRealPath(this.getSavePath());
System.out.println(root);
FileInputStream in=new FileInputStream(upload);
FileOutputStream out=new FileOutputStream(new File(root,uploadFileName));
byte[] data=new byte[1024];
while(in.read(data)!=-1){
out.write(data);
}
out.flush();
out.close();
in.close();
photo.setPhoto(root+"/"+this.getUploadFileName());
boolean state=this.photoService.add(photo);
if(state){
return "success_add_photo";
}else{
return "fail";
}

}
报错:java.lang.NullPointerException
java.io.File.<init>(File.java:262)
org.apache.naming.resources.FileDirContext.doGetRealPath(FileDirContext.java:180)
org.apache.naming.resources.BaseDirContext.getRealPath(BaseDirContext.java:424)
com.pilipili.photo.controller.PhotoAction.uplo(PhotoAction.java:25)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

解决方案

这个比较明显,,应该是getSavePath()这个方法的返回值为空报的异常

时间: 2024-08-03 22:53:09

upload-求大神解答ssh上传文件报NullPointerException的相关文章

求大神指教 ajaxFileUpload 上传多个文件时候 springMVC 只接受到了一个文件 不知道在怎么回事

问题描述 求大神指教ajaxFileUpload上传多个文件时候springMVC只接受到了一个文件不知道怎么回事后台用@RequestParamMultipartFile[]myfiles来接受的if(typeof(fileElementId)=='string'){fileElementId=[fileElementId];}for(variinfileElementId){//按namevaroldElement=jQuery('#'+fileElementId[i]);varnewEle

http服务器-第一次来csdn,问问大神关于http上传文件原理之类的。

问题描述 第一次来csdn,问问大神关于http上传文件原理之类的. 因为最近在使用C调用libcurl库,涉及文件上传到http服务器,不了解这一块,我想知道: 1-我本地搭建的apache-tomcat服务器,它支持文件上传吗? 2-如果支持,我文件传到了什么地方?在我本地F:apache-tomcat-6.0.13workCatalinalocalhost里面能找到不? 3-如果不支持,我想做本地上传文件到http服务器的测试,该怎么办啊? 4-类似地,如果我想在C程序文件里实现直接把文件

jquery-见鬼,太奇怪了,求大神解答这段js代码怎么得不到预期结果。

问题描述 见鬼,太奇怪了,求大神解答这段js代码怎么得不到预期结果. 本来要写一个滚动条到底部自动加载的功能,if里面的判断表达式结果确实是true但是if里面的代码被执行5次.设置全局变量,return false.....都没法解决这个问题.求js大神解答.该怎么写才合适. $(window).scroll(function(){ if (($(document).height())==($(window).height()+$(document).scrollTop())) { alert

最近刚上手google gwt 遇到了一些问题求大神解答

问题描述 最近刚上手google gwt 遇到了一些问题求大神解答 用Maven install 就报这些错误 是什么原因啊? [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, ge

redhat安装centos的yum 时出现的问题 求大神解答

问题描述 redhat安装centos的yum 时出现的问题 求大神解答 在安装这个文件的时候 rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm 的时候 报这个错误 warning: yum-metadata-parser-1.1.2-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY error: Failed dependencies: libc

jbpm上传打包好的zip文件,然后上传完说发布流程文件失败,求大神解答

问题描述 jbpm上传打包好的zip文件,然后上传完说发布流程文件失败,求大神解答 工具:MyEclipse10.0 jbpm4.4 数据库版本是Mysql5.1 下面是jsp页面代码 jsp页面代码 <%@page import="java.util.zip.ZipInputStream"%> <%@page import="java.io.File"%> <%@page import="java.io.FileInputS

服务器-有关视屏上传的一些思路求大神解答

问题描述 有关视屏上传的一些思路求大神解答 要用MySQL和javaweb实现一个视屏上传的功能,那是不是把上传的视屏上传到服务器里,在数据库里只是存一个视屏在服务器里的地址标识,大致思路是这样的吗,求大神指点迷津 解决方案 和你想的差不多,上传的时候只上传一个相对路径(有方法可以通过相对路径获取到绝对路径),可以在上传的时候改个名 防止重名 解决方案二: 你可以试试 这是上传图片的 我自己写的 (我是新手) 解决方案三: 看前台 有个上传控件 它里面的方法 你可以自己试试 控件是 fileup

android-上传APK解析错误,有人遇到吗?求大神解答

问题描述 上传APK解析错误,有人遇到吗?求大神解答 今天在豌豆荚上传应用出现解析错误,有遇到的同志们么?求解答,我吧版本都改到了最低为8了. apk的包也缩短名称了.以上都不行. 解决方案 出现这样的问题一般是由于签名导致的,建议您检查签名. 解决方案二: 这种情况有可能时你签名打包时候出错了,你确定签名正确了吗

c++-一道OJ上的题,数的划分,求大神解答

问题描述 一道OJ上的题,数的划分,求大神解答 有N个排列好的数,不改变排列次序,要分成K个部分,每个部分至少有一个数, (其中K <=N),若将每一个部分的数相乘,然后将K个部分相加,则可以得到一个表达式,求这个表达式的最大数值. 输入格式文件第一行为2个整数N.K下面N行为N个整数(N<=100,整数的范围都在整型以内)样例输入5 2 12345 样例输出121 我的思路是动态规划:以f(ij)表示分成i组,最后一个数是j的最大数值.以下是我的代码: #include <iostre