簡體   English   中英

使用struts2上傳zip文件

[英]Uploading zip file with struts2

我已經檢查過各種平台,以使用Struts2上傳ZIP文件。

我從http://struts.apache.org/docs/file-upload.html獲得了一些參考,但不值得,我知道我們可以使用Struts 2上傳多個文件,但我想將其作為zip文件夾上傳。

是否可以使用Struts2上傳文件?

JSP頁面

<s:form action="doUpload" method="post" enctype="multipart/form-data">
    <s:file name="upload" label="File"/>
    <s:submit/>
</s:form>

動作課

public class UploadAction extends ActionSupport {
  private File[] upload;
  private String contentType;
  private String[] filename;


public File[] getFileUploads() {
    return upload;
}

public void setFileUploads(File[] fileUploads) {
    this.upload= fileUploads;
}

 public String[] getUploadsFileNames()
  {
    return filename;
  }

  public void setUploadsFileName(String[] uploadFileNames)
  {
    this.filename= uploadFileNames;
  }

  public String execute() {
try{
    String localPath = "C:\\tmp\\localDir";
    for (int i = 0; i < upload.length; i++)
     {
            File fileToCreate = new File(downloadDir.getAbsolutePath(), voiceBasePromptsFileNames[i]);
            FileUtils.copyFile(upload[i], fileToCreate);
     }
}catch(Exception e){}
       return SUCCESS;
  }
}

sturts.xml

<action name="doUpload" class="com.example.UploadAction">
            <param name="contentType">application/zip</param>
            <param name="inputName">zipFileInputStream</param>
            <param name="contentDisposition">attachment;filename="${fileName}"</param>
            <param name="bufferSize">1024</param>
            <param name="contentLength">${contentLength}</param>
        <result type="json" />
        <interceptor-ref name="defaultStack"></interceptor-ref>
</action>

通過使用此代碼,我一次只能上傳單個文件,但是當我嘗試zip文件時,contentType,filename卻為null。 ..增加了我現在嘗試過的更新代碼,但是仍然沒有任何運氣。

編輯

抱歉,如果您的問題不清楚,請添加我剛剛嘗試但無法正常工作的更多要點和更新的代碼。

我有多個文件要上傳,因此我對所有文件進行了zip壓縮,並希望一次使用struts2加載該zip文件。

正如我上面提到的, filename或其contentTypeNull 所以我的問題是,我是否需要在struts.xml中的某個位置設置setcontentType ,或者是否有任何示例可供我通過struts2上載zip引用。

Struts.xml中

 <action name="resultAction" class="com.mkyong.common.action.FileUploadAction">
    <interceptor-ref name="exception"/>
        <interceptor-ref name="i18n"/>
        <interceptor-ref name="fileUpload">
        <param name="allowedTypes">text/plain,application/zip</param>
        <param name="maximumSize">10240</param>
    </interceptor-ref> 
        <interceptor-ref name="params">
            <param name="excludeParams">dojo\..*,^struts\..*</param>
        </interceptor-ref>
        <interceptor-ref name="validation">
            <param name="excludeMethods">input,back,cancel,browse</param>
        </interceptor-ref>
        <interceptor-ref name="workflow">
            <param name="excludeMethods">input,back,cancel,browse</param>
        </interceptor-ref>

    <result name="success">pages/result.jsp</result>
    <result name="input">pages/fileupload.jsp</result>

</action>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM