               end error, data
         else
           Meteor.call self.methodNames.MeteorFileWrite, arrayBuffer, fileData, meta, first, chunksQtyInPart, currentChunk, totalSentChunks, randFileName, part, streams, file.size, (error, data)->
-            # console.log "DATA.last", data.last, error, data
             if data.chunk + 1 <= chunksQtyInPart
               from         = currentChunk * self.chunkSize
               to           = from + self.chunkSize
 
-              # console.log "Send chunk ##{currentChunk} of part ##{part} | #{from} #{to}"
               fileReader.readAsArrayBuffer filePart.slice from, to
               currentChunk = ++data.chunk
             else if data.last
               end error, data
         first = false
 
-      # console.log "Send first chunk of part"
       fileReader.readAsArrayBuffer filePart.slice 0, self.chunkSize
 
     # for part, index in parts

          _storagePath:    self.storagePath
          _downloadRoute:  self.downloadRoute

        # console.log "Last, First", last, first
        
        if first
          fs.outputFileSync pathPart, binary, 'binary'


      fileReader.onload = (chunk) ->
        ++totalSentChunks
        onProgress and onProgress((uploaded / file.size) * 100)

        uploaded   += self.chunkSize
        binary      = chunk.srcElement or chunk.target
        arrayBuffer = new Uint8Array binary.result
        last        = (part is streams and currentChunk >= chunksQtyInPart)


        if chunksQtyInPart is 1
          Meteor.call self.methodNames.MeteorFileWrite, arrayBuffer, fileData, meta, first, chunksQtyInPart, currentChunk, totalSentChunks, randFileName, part, streams, file.size, (error, data) ->
