2017-10-20 21 views
0

NodeJS with socket.ioとsocketio-file-uploadを使用して複数のファイルをアップロードすると、うまくいきます!しかし、私は入力の名前属性を保存しようとしているところで、これらのファイルが自分のDBに保存される問題があります。socketio-file-uploadを使用して複数のファイルをアップロードする

ファイルを1つ以上アップロードすると、入力フィールド名や、どの入力フィールドからのファイルであるかを示すものにアクセスできないようです。ここで

は私の前です:

var uploader = new SocketIOFileUpload(socket); 

var array_files_lvl_3 = [ 
    document.getElementById("l3_id_front"), 
    document.getElementById("l3_id_back"), 
    document.getElementById("l3_address_proof_1"), 
    document.getElementById("l3_address_proof_2"), 
    document.getElementById("l3_passport") 
]; 

uploader.listenOnArraySubmit(document.getElementById("save_level_3"), array_files_lvl_3); 

そして、ここに私の背中です:残念ながら

enter image description here

答えて

1

var uploader = new siofu(); 
uploader.dir = "uploads/userL3"; 
uploader.listen(socket); 

uploader.on('saved', function(evnt){ 
    console.log(evnt); 
    //this "event" variable has a lot of information 
    //but none of it tells me the input name where it came from. 
}); 

これは "EVNT" 変数が保持しているものですライブラリはその情報を送信しません。既存の設定は何もできません。したがって、これにはコードの変更が必要です。

client.js:374

var _fileSelectCallback = function (event) { 
    var files = event.target.files || event.dataTransfer.files; 
    event.preventDefault(); 
    var source = event.target; 
    _baseFileSelectCallback(files, source); 

client.js:私は詳細を取得することができる午前これらの変更後343

var _baseFileSelectCallback = function (files, source) { 
    if (files.length === 0) return; 

    // Ensure existence of meta property on each file 
    for (var i = 0; i < files.length; i++) { 
     if (source) { 
      if (!files[i].meta) files[i].meta = { 
       sourceElementId: source.id || "", 
       sourceElementName: source.name || "" 
      }; 
     } else { 
      if (!files[i].meta) files[i].meta = {}; 
     } 
    } 

event.file.meta

element

関連する問題