簡體   English   中英

如何使用jQuery將多個文件上傳到Java控制器

[英]How to Upload Multiple files using jQuery to java controller

大家好

由於球衣錯誤,我正在嘗試創建解決方法。 球衣將文件名中的斜杠截斷。 所以我想通過另一種方式發送我的文件。 對於1個文件,我找到了解決方案,這是:

function extractFilename(s){ 
  // returns string containing everything from the end of the string 
  //   that is not a back/forward slash or an empty string on error
  //   so one can check if return_value===''
  return (typeof s==='string' && (s=s.match(/[^\\\/]+$/)) && s[0]) || '';
} 
<input type="file" onchange="alert(extractFilename(this.value));">

但是有多個文件則無法使用。 我試圖通過發布:UI:

<input type="file" id="files" name="files" multiple="multiple" />

JS:

function showUploadPanel() {

            var files = $("#files")[0].files;
       var form = createFormWithInputs("/user/document_upload/", files);

             form.appendTo( document.body ).submit();
         }

function createFormWithInputs(path, params) {
            var form = $(document.createElement( "form" ))
                .attr( {"method": "post", "action": path} );

            $.each( params, function(key,value){
                $.each( value instanceof Array? value : [value], 
                 function(i,val){
                    $(document.createElement("input"))
                        .attr({ "type": "hidden", "name": "files", "value": 
                        val })
                        .appendTo( form );
                }); 
            }); 

            return form;
        }

控制器:

  @POST
  @Path("/document_upload")
  @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
  public Response documentUpload(@FormParam("files") List<File> files) {

我可以擁有文件,但是它們是空的[[object File]'。 沒有任何內容。

我該怎么辦?

預先感謝您,恩德雷

您可以嘗試使用Jquery插件uploadify來上傳多個文件。 http://www.uploadify.com/demos/

暫無
暫無

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

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