2015-09-26 59 views
1

我是Struts2的新手。我已經編寫了一個JSP頁面來接受單個上載選項中的多個文件,但它並不接受索引頁面中的多個文件。JSP不允許選擇多個文件上傳

請在index.jsp文件的下面找到。

<s:form action="upload" method="post" enctype="multipart/form-data"> 
<label for="myFile">Upload your file</label> 
<s:file name="myFile" multiple="multiple" /> 
    <s:submit value="Upload files" /> 
    </s:form> 

請幫我解決這個問題。它允許單個文件進行選擇。

+0

http://stackoverflow.com/a/17212916/1654265 –

+0

爲什麼這麼說呢,它允許被選中的單個文件?您是否嘗試過在按住CTRL按鈕的同時進行多項選擇? –

+0

我已經嘗試過,但它不允許我選擇多個文件... – user3113732

回答

0

從這裏:Need to upload multiple files at once

JSP

<%@page contentType="text/html; charset=UTF-8" %> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Multiple File Upload Example</title> 
</head> 
<body> 
    <s:form action="upload" enctype="multipart/form-data" > 
     <s:file name="files" multiple="multiple" /> 
     <s:submit value="Upload files" /> 
    </s:form> 
</body> 
</html> 

ACTION

公共類上傳擴展了ActionSupport {

private List<File> files; 
private List<String> filesContentType; 
private List<String> filesFileName; 

/* GETTERS AND SETTERS */   

public String execute() throws Exception{ 
    System.out.print("\n\n---------------------------------------"); 
    int i=0; 
    for (File file : files){ 
     System.out.print("\nFile ["+i+"] "); 
     System.out.print("; name:"   + filesFileName.get(i)); 
     System.out.print("; contentType: " + filesContentType.get(i)); 
     System.out.print("; length: "  + file.length()); 
     i++; 
    } 
    System.out.println("\n---------------------------------------\n"); 
    return SUCCESS; 
} 

} 

struts.xml的 - 最大尺寸多:

<constant name="struts.multipart.maxSize" value="20000000" /> 

攔截

<interceptor-ref name="fileUpload"> 
    <param name="maximumSize">10485760</param> 
</interceptor-ref> 
+0

複製部分代碼時通常應該[原作者](http://stackoverflow.com/a/17212916/1654265);不知道你應該在這裏做什麼,因爲你已經複製了整個答案。至少去那裏,upvote原來的一個。 –

+1

抄襲 - > downvoted。 –