Чтобы отправить файл на сервер с помощью JavaScript, вы можете использовать технологию AJAX. Вот пример кода:
```javascript
const form = new FormData();
const file = document.querySelector('#sendMessasgeFile').files[0];
form.append('upfile', file);
var data = {
userId: user_id,
media:form,
command:'private'
};
var xhr = new XMLHttpRequest();
xhr.open('POST', 'upload.php', true);
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
console.log('Файл успешно загружен на сервер');
} else {
console.error('Произошла ошибка при загрузке файла на сервер');
}
};
xhr.send(JSON.stringify(data));
```
В файле `upload.php` вы можете обработать массив `media`, чтобы извлечь из него файл и загрузить в папку на сервере. Вот пример кода для обработки и сохранения файла с использованием PHP:
```php
<?php
$user_id = $_POST['userId'];
$media = $_POST['media'];
if (!empty($media) && !empty($user_id)) {
$file = $media['upfile'];
$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
$fileDestination = 'uploads/' . $fileName;
if (move_uploaded_file($fileTmpName, $fileDestination)) {
echo 'Файл успешно загружен на сервер';
} else {
echo 'Произошла ошибка при загрузке файла на сервер';
}
} else {
echo 'Произошла ошибка при обработке файла';
}
?>
```
В этом примере кода, файл будет загружен на сервер и сохранен в папку `uploads`. Обратите внимание, что вам также потребуется добавить проверки на типы файлов, размер и дополнительные безопасные меры, чтобы предотвратить возможные атаки.