Лучший способ отправлять и получать видео на jquery ajax - PullRequest
0 голосов
/ 23 апреля 2019

Итак, я хотел отправить видео из HTML5 на серверную часть (узел js), используя jquery ajax, и я не уверен, что это лучший способ сделать это. Это должно работать так: клиент загружает видео -> узел получает видео -> узел js вызывает скрипт Python для обработки видео и возвращает его -> узел js отправляет видео клиенту. Вот код, который я написал.

на стороне клиента

<!DOCTYPE html>
<html lang="en">

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script>

    function sendData(){

        var data = new FormData();
        $.each($('#upload-input')[0].files, function(i, file) {
            data.append('file-'+i, file);
        });

        $.ajax({
            url: 'http://localhost:3000/newFlavour',
            data: data,
            cache: false,
            contentType: false,
            processData: false,
            method: 'POST',
            type: 'POST', // For jQuery < 1.9
            success: [function(data){
                receiveData(data);
            }]
        });}


    function receiveData(response){
        response = JSON.parse(response);
        console.log(response)


    }


</script>

<head>
    <meta charset="UTF-8">
    <title>Serviços disponibilizados</title>
</head>
<body>

<input type="file" accept="*/video/ogg" accept="*/video/mp4" id="upload-input">
<button onclick="sendData()"></button>

</body>
</html>

Серверный

formidable = require('formidable');
app = require ('express')();
const http = require('http').Server(app);

app.post('/newFlavour', function (req, res){
    var form = new formidable.IncomingForm();

    form.parse(req, function(err, fields, files) {
        res.send(files)
        res.status(200)

    });

    form.on('fileBegin', function (name, file){
        file.path = 'C:/Users/veryan/Desktop/teste/' + file.name;
    });

    form.on('file', function (name, file){
        console.log('Uploaded ' + file.name);
    });


});
http.listen(3000, function(){
    console.log('Listening on port 3000 ...');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...