关于文件上传getFile()

我在做文件上传的时候(上传用户头像)一直报下面错误,求哪位好哥哥帮忙看一下,谢谢。(自己在网上搜集资料,但没有解决)

报错:

image.png

下面是我的一些编程代码:

前段就是form带文件上传。

后端controller 

image.png


pom.xml(相关部分)

image.png

评论区

JFinal

2017-07-26 10:32

首先异常信息并没有给出 cause 部分,所以无法精准定位,其次异常信息是截图,不利于搜索引擎收录,后来碰到该问题的小伙伴们搜索不到,无法形成积累

最后你引入的 jar 并不是 cos,所以猜测出异常是找到不 jar 包,common-fileupload 根本不需要,看一下 jfinal 项目的 pom.xml 中有一个 cos 2017 那个 dependecy 就知道了

Terry丶

2017-07-26 10:35

@JFinal 谢谢你,刚刚接触框架 还不会用,努力学习中。http://www.jfinal.com/feedback/1699 这个群是官方群吗

JFinal

2017-07-26 10:40

@Terry丶 这个是官方群,官方群有十来个,基本上都满员了,管理员会定期清理常期不说话的人

Terry丶

2017-07-26 10:45

@JFinal 这个和俱乐部的群不一样是吧

Terry丶

2017-07-26 10:49

@JFinal 刚刚听你的加入cos那个jar。不报刚刚的错误了。 但打印一直拿不到file信息。 (是我哪里写错了吗)
System.out.println("进入了方法");
Map map = new HashMap<>();
UploadFile up = getFile();
File file = up.getFile();
System.out.println("getAbsolutePath() ===== "+file.getAbsolutePath());
try {
System.out.println("getCanonicalPath() ===== "+file.getCanonicalPath());
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("getPath ==== "+file.getPath());
System.out.println("getName"+file.getName());

JFinal

2017-07-26 11:03

@Terry丶 异常的 cause 部分都没有,谁能猜得到?

Terry丶

2017-07-26 11:04

@JFinal 我的。 (空指针,那块还需要配置吗)
ERROR]-[Thread: qtp608188624-26]-[com.jfinal.core.ActionHandler.handle()]: /account/upPortrait
java.lang.NullPointerException
at com.tm.controller.system.AccountController.upPortrait(AccountController.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.jfinal.aop.Invocation.invoke(Invocation.java:73)
at com.tm.interceptor.LoginGlobalInterceptor.intercept(LoginGlobalInterceptor.java:25)
at com.jfinal.aop.Invocation.invoke(Invocation.java:67)
at com.jfinal.core.ActionHandler.handle(ActionHandler.java:74)
at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:74)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)

JFinal

2017-07-26 11:06

jfinal 手册第三章第六小节说得很清楚 getFile 文件上传的细节
enctype="multipart/form-data" 这个你确定在 form 表单中配置了?

Terry丶

2017-07-26 11:12

@JFinal 确定配置了。
form:
...省略
js:
$("#myForm").ajaxForm({
dataType: "json",
beforeSerialize: function($form, options) {
},
beforeSubmit: function(formData, jqForm, options) {
return true;
},
success: function(ret) {
alert(ret.errMsg);
},
error: function(ret) {
alert(ret.errMsg);
}
});

Terry丶

2017-07-26 11:15

@JFinal form被过滤了,我这块确定配置了
id="myForm" method="post" action="/account/upPortrait" enctype="multipart/form-data"

Terry丶

2017-07-26 12:57

@JFinal 非常感谢你耐心解答。问题解决了,我网上下载的截图插件被改过了,导致数据丢失。ps.jfinal上传真心强。一两句代码就上去了。感谢。官方的群我能加入吗,还是需要什么条件呢

JFinal

2017-07-26 14:47

@Terry丶 官方群可以加入,加入只需要搜索一下 jfinal qq 群,里面带有“官方” 二字的几乎都是官方群,有十来个

Terry丶

2017-07-27 08:39

@JFinal 想学到东西还需要进 俱乐部,我会支持俱乐部 促进良心发展。我觉得你人不错,不是俱乐部的人 你都耐心回答

JFinal

2017-07-27 10:50

@Terry丶 俱乐部是增值服务,是为了积累一定的资源用于社区的基础开销与费用。没加入俱乐部的也几乎可以得到所有社区资源,例如文档、源代码等等

热门反馈

扫码入社