2017-01-23 35 views
1

我需要上传多个文件,我使用materializecss,和它给你上传多个文件中的一个输入的选项:多个文件输入兑现

<div class="row"> 
    <form class="col s12"> 
     <div class="file-field input-field"> 
      <div class="btn"> 
       <span>Browse</span> 
       <input type="file" multiple> 
      </div> 
      <div class="file-path-wrapper"> 
       <input type="text" name="pictures" class="file-path validate" type="text" placeholder="Upload multiple files"> 
      </div> 
     </div>  
    </form> 
</div> 

materialize.js确实具有以下这样的:

$(document).on('change', '.file-field input[type="file"]', function() { 
    var file_field = $(this).closest('.file-field'); 
    var path_input = file_field.find('input.file-path'); 
    var files  = $(this)[0].files;  
    var file_names = []; 
    for (var i = 0; i < files.length; i++) { 
     file_names.push(files[i].name); 
    } 
    path_input.val(file_names.join(", ")); 
    path_input.trigger('change'); 
}); 

因此,通过$_POST我只能得到我要上传的文件的名称。我需要文件的完整路径将它们上传到我的服务器中。

我会很感激任何帮助。

+0

你不能得到这些路径;这会侵犯用户的隐私。 – bfontaine

+0

哎唷!谢谢@bfontaine – ManelPNavarro

+0

如果可能的话,没有文件系统是安全的。 – RiggsFolly

回答

2

您无法获取这些路径;这会侵犯用户的隐私。

文件API规范说对name属性(重点煤矿):

文件的名称;在获取时,这必须以字符串形式返回文件的名称。有不同的底层操作系统文件系统使用了许多文件名变体和约定; 这只是文件的名称,没有路径信息。