如何使用jsp在spring 4.x中实现多文件上传(部分删除)

时间:2014-09-30 07:23:10

标签: java spring jsp spring-mvc file-upload

我正在尝试使用Spring和jsp实现bbs。

找到了一些多文件上传示例,但我需要一些额外的功能(取消)

我期待以下条件的例子。

  1. 用户可以上传多个文件
  2. 用户可以取消上传已注册的文件(或文件)。
  3. 所有这些都发生在同一页面而没有刷新。
  4. 我想要构建的内容如下所示

    filename1.ext  ('x' button) 
    filename2.ext  ('X' button) 
    (input tag with file type)
    

    如果按x按钮,同一行中的文件将被删除。

    我需要的只是简单的示例或提示。

    非常感谢高级:D

    =============================================== ====

    更有可能在链接下面:

    http://milladdagdoni.wordpress.com/2013/07/24/spring-mvc-upload-multiple-files/

    有多个文件的一个输入标记

    但在我的情况下,我必须显示列表。

    跟随我工作的进展很少。

    <html>
    <head>
        <title>Multi file upload test</title>
        <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
        <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    </head>
    <body>
    <h1>
        Upload Files
    </h1>
    
    <P>  The time on the server is ${serverTime}. </P>
    <form id="fileForm" action="#" method="POST" enctype="multipart/form-data">
        <div>
             <table id="fList">
             </table>
        </div>
        <!-- 
        <input name="inFile" type="file" onchange="javascript:restoreFile()">
         -->
        <input name="inFile" type="file" multiple="multiple" onchange="javascript:restoreFile()">
        <input type="submit" value="upload">
    </form>
    <h4><a href="#" onclick="javascript:location.href='/upload'"><b>upload.jsp</b></a></h4>
    </body>
    <script>
        function restoreFile(){
            var fileName = $("input[name='inFile']").val();
            var fileNameWithoutPath = getSeparatedFileName('name', fileName);
            var abFileName = fileNameWithoutPath.split('.')[0];
    
            if(fileName != null && fileName.length > 0){
                var close_btn = "<button>";
                $('#fList').append("<tr id='" +  abFileName + "'><td>" + fileNameWithoutPath + "</td>" + 
                        "<td><a href='#' id='" +  abFileName + "_rm'>remove</a></td></tr>");
    
                $('#' + abFileName + '_rm').on("click", function(e){
                    $('#' + abFileName).remove();
                });
            }
        }
    
        function getSeparatedFileName(type, fileName){
            var fileNames = fileName.split('\\');
            if(type == 'name'){
                return fileNames[fileNames.length - 1];
            }else if(type == 'path'){
                var endIndex = fileName.lastIndexOf('\\');
                return fileName.substring(0, endIndex);
            }
        }
    </script>
    </html>
    

    我曾尝试过jquery来显示文件列表。如果我不使用多个=&#34;多个&#34;在输入标签中,它的工作原理。但是,添加后它显示第一个成员并且仅计数。

    感谢您的帮助:D

2 个答案:

答案 0 :(得分:0)

我在multiple file upload选项的以下网站中看到了一个很好的例子。但它适用于Spring 3

它还演示了文件的添加,主要是文件输入字段。

  

如果按x按钮,同一行中的文件将被删除。

您可以使用jquery尝试在按钮点击事件上删除一行。

希望有所帮助:)

答案 1 :(得分:0)

这是我发现的最好的JQuery插件,它是非常有用的,我向这个人捐钱,看看,它完成了你正在寻找的所有东西。

http://hayageek.com/docs/jquery-upload-file.php