Загрузка изображения с помощью Struts 2JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Загрузка изображения с помощью Struts 2

Сообщение Anonymous »

Я пытаюсь загрузить изображение, используя этот JSP-файл:





Upload User Image



Struts2 File Upload & Save Example




Image :





И класс действий следующий:
public class InsertImageBean extends ActionSupport{

private static final long serialVersionUID = 1L;

private File Image;
private String myFileContentType;
private String myFileFileName;

public String execute()
{
/* Copy file to a safe location */

InsertImage.save(this);

return SUCCESS;
}
public File getMyFile() {
return Image;
}
public void setMyFile(File myFile) {
this.Image = myFile;
}
public String getMyFileContentType() {
return myFileContentType;
}
public void setMyFileContentType(String myFileContentType) {
this.myFileContentType = myFileContentType;
}
public String getMyFileName() {
return myFileFileName;
}
public void setMyFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
}

И класс bean-компонента выглядит следующим образом:
public class InsertImage {

public static int save(InsertImageBean iib) {
try{
String filepath = "D:/TEAMWORK/NaTelangana/WebContent/Images";
File image = iib.getMyFile();
String myfilename = iib.getMyFileName();
System.out.println("Src File name: " + iib.getMyFileName());
System.out.println("Dst File name: " + myfilename);

File destFile = new File(filepath, myfilename); // Null pointer exception is thrown here
FileUtils.copyFile(image, destFile);

System.out.println(System.getProperty("user.dir") );

if(image.renameTo(new File(filepath)))
System.out.println("File is moved successful!");
else
System.out.println("Failed to move!");
}catch(Exception e){
e.printStackTrace();
}
return 0;
}
}

Проблема в том, что в приведенной выше программе я получаю исключение NullPointerException в приведенной выше программе рядом с этой строкой:
File destFile = new File(filepath, myfilename);

Проблема в том, что отправленные входные данные не принимаются в bean-файле. Как исправить эту ошибку?
Вот какую ошибку я получаю:
java.lang.NullPointerException
at java.io.File.(File.java:317)
at natelangana.com.InsertImage.save(InsertImage.java:23)
at bean.com.InsertImageBean.execute(InsertImageBean.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)Src File name: null
Dst File name: n u l l < b r / > < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . D e f a u l t W o r k f l o w I n t e r c e p t o r . d o I n t e r c e p t ( D e f a u l t W o r k f l o w I n t e r c e p t o r . j a v a : 1 6 3 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 8 7 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 3 6 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . v a l i d a t o r . V a l i d a t i o n I n t e r c e p t o r . d o I n t e r c e p t ( V a l i d a t i o n I n t e r c e p t o r . j a v a : 2 4 9 ) < b r / > a t o r g . a p a c h e . s t r u t s 2 . i n t e r c e p t o r . v a l i d a t i o n . A n n o t a t i o n V a l i d a t i o n I n t e r c e p t o r . d o I n t e r c e p t ( A n n o t a t i o n V a l i d a t i o n I n t e r c e p t o r . j a v a : 6 8 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 8 7 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 3 6 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . C o n v e r s i o n E r r o r I n t e r c e p t o r . i n t e r c e p t ( C o n v e r s i o n E r r o r I n t e r c e p t o r . j a v a : 1 2 2 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 3 6 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . P a r a m e t e r s I n t e r c e p t o r . d o I n t e r c e p t ( P a r a m e t e r s I n t e r c e p t o r . j a v a : 1 9 5 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 8 7 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 3 6 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . P a r a m e t e r s I n t e r c e p t o r . d o I n t e r c e p t ( P a r a m e t e r s I n t e r c e p t o r . j a v a : 1 9 5 ) < b r / > a t c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e rcept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:306)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:306)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)


Подробнее здесь: https://stackoverflow.com/questions/257 ... g-struts-2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»