如何根据名称在特定位置上传和保存文件?

时间:2013-02-20 01:28:12

标签: java jsp file-io struts2

我需要上传文件并根据其名称将它们保存在特定位置。 我使用以下代码,但不知道如何根据他们的名字保存它们。 目前它给我以下错误。

SEVERE: Exception occurred during processing request: null
java.lang.NullPointerException

JSP

    <s:form method="POST" enctype="multipart/form-data" autocomplete="on" 
             action="myforms">
                       .......
                   <s:textfield name="Name" label="Name"/>
                    <s:file name="logo" label="Upload Logo" size="40"/>
        <s:submit validate="true"></s:submit>

行动

 @Action
 public class MyFormHandler implements ModelDriven{
  private FormData formData;
  private File logo;

  public String myforms(){
     System.out.println(formData.getName());   // << it works
     System.out.println("file name:" + logo.getName());   << Error
  }

   public File getLogo() {
    return logo;
}

public void setLogo(File logo) {
    this.logo = logo;
}

   ......
 } 

1 个答案:

答案 0 :(得分:1)

你展示的代码本身没有任何意义;上传的文件将在File logo(假设正确的getter / setter等),我不知道FormData是什么。

您最好的选择是根据其名称将上传的文件复制到您想要的任何目录,但如果没有进一步的信息,您将不容易确定您的案例中出现了什么问题。