Как я могу проанализировать буфер или передать файл из события отбрасывания jquery на сервер узла. js? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть следующее в компоненте Vue:

<form id="dropzone" method='POST' enctype="multipart/form-data">
     <vue-simplemde v-model="content" ref="markdownEditor" />
</form>

Я написал следующее событие отбрасывания jquery для этого:

$('#dropzone').on('drop', function (e) {
    var files = e.originalEvent.dataTransfer.files;
    for (var file in files) {
        if (file == 0) {
            console.log(files[file]);
            var encoding = files[file].type;
            var name = files[file].name;

            var data = new FormData();
            data.append('file', files[file]);

            $.ajax({
                data: {data: data, filename: name, encoding: encoding},
                type:'POST',
                cache: false,
                contentType: false,
                processData: false,
                method: 'POST',
                url: 'http://localhost:8089/post',
                success: (data) => {
                    console.log(data);
                }
            });
        }
    }
});

Когда я пишу следующее сервер. js файл:

const server = http.createServer((req, res) => {
    console.log(req.body);
    console.log(req.files);
});

Я получаю неопределенные значения, напечатанные дважды в терминале узла.

Когда я пишу следующее на сервере. js:

const server = http.createServer((req, res) => {
    req.on('data', chunk => {
        console.log(chunk);
    })
    req.on('end', () => {
        //console.log(data);
        app.post('/post', site);
    })
});

Я получаю в терминале следующее:

<Buffer 5b 6f 62 6a 65 63 74 20 4f 62 6a 65 63 74 5d>

Как передать файл на сервер. js или есть другой способ, которым я могу это сделать?

Я очень новичок в этом стеке.

...