2017-01-23 15 views
1

をマテリアライズ:で、次ん複数のファイルの入力には、私は<a href="http://materializecss.com/" rel="nofollow noreferrer">materializecss</a>を使用している、複数のファイルをアップロードする必要があり、それはあなたに1回の入力で複数のファイルをアップロードするためのオプションを提供します

<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属性(強調鉱山):

ファイルの名前。取得する際には、ファイルの名前を文字列として返す必要があります。さまざまな基礎となるOSファイルシステムによって使用される多数のファイル名のバリエーションと規則があります。 これは単にパス情報のないファイルの名前です。

関連する問題