[英]Uploading zip file with struts2
我已經檢查過各種平台,以使用Struts2上傳ZIP文件。
我從http://struts.apache.org/docs/file-upload.html獲得了一些參考,但不值得,我知道我們可以使用Struts 2上傳多個文件,但我想將其作為zip文件夾上傳。
是否可以使用Struts2上傳文件?
<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;
}
}
<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
或其contentType
為Null 。 所以我的問題是,我是否需要在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.