Здравствуйте, загружаю файл на сервер через
socket.io-stream из браузера. В браузере я могу следить за процессом загрузки, а как мне запустить например функцию на сервере когда закончилась загрузка?
Вот код сервера:
io.of('/admin/tasks/new').on('connection', function (socket) {
ss(socket).on('video', function(stream, data) {
let name = String(data.name).trim()
let title = String(data.name).trim()
let description = String(data.name).trim()
if (name && title) {
let hashName = crypto.randomBytes(40).toString('hex');
let extension = path.extname(name)
let pathFile = null
if (extension === '.mp4') {
pathFile = `./tasks/videos/${hashName}.${extension}`
}
if (pathFile) {
let upload = stream.pipe(fs.createWriteStream(pathFile))
upload.on('open', () => {
socket.emit('message', {
status: 'upload'
});
})
stream.on('error', (streamErr) => {
socket.emit('message', {
status: 'message',
type: 'warn',
message: 'Во время загрузки файла произошла ошибка'
});
});
} else {
socket.emit('message', {
status: 'message',
type: 'warn',
message: 'Видео файл неверного формата или повреждён'
});
}
} else {
socket.emit('message', {
status: 'message',
type: 'warn',
message: 'Ошибка входящих данных'
});
}
});
});