2017-01-23 1 views
1

실현, 그리고 그것은 당신에게 하나 개의 입력에 여러 파일을 업로드 할 수있는 옵션이 제공 :여러 파일을 입력 내가, 내가 <a href="http://materializecss.com/" rel="nofollow noreferrer">materializecss</a>를 사용하고 여러 파일을 업로드해야

<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

아야! Thanks @ bfontaine – ManelPNavarro

+0

가능하다면 파일 시스템이 안전하지 않을 것입니다. – RiggsFolly

답변

2

이 경로를 가져올 수 없습니다. 그것은 사용자의 프라이버시를 침해 할 것입니다.

[파일 API 사양은 말한다에 대한 name 속성 (강조 광산) :

파일의 이름; 가져올 때 파일 이름을 문자열로 반환해야합니다. 다양한 기본 OS 파일 시스템에서 사용되는 수많은 파일 이름 변형 및 규칙이 있습니다. 이것은 경로 정보가없는 파일의 이름 일뿐입니다.

관련 문제