@strager1

Как написать обработчик приема файла на QT?

Задача - загрузить файл через форму на веб-сервер. Нашел в интернете следующий код:
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
    </head>
    <body>
    <form name="uploader" enctype="multipart/form-data" method="POST">
        Отправить этот файл: <input name="userfile" type="file" />
        <button type="submit" name="submit">Загрузить</button>
    </form>
    </body>
</html>

<script type="text/javascript">
    $("form[name='uploader']").submit(function(e) {
        var formData = new FormData($(this)[0]);

        $.ajax({
            url: 'file.php',
            type: "POST",
            data: formData,
            async: false,
            success: function (msg) {
                alert(msg);
            },
            error: function(msg) {
                alert('Ошибка!');
            },
            cache: false,
            contentType: false,
            processData: false
        });
        e.preventDefault();
    });
    </script>


Обработчик на сервере:
<?php

$uploaddir = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR;
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    $out = "Файл корректен и был успешно загружен.\n";
} else {
    $out = "Возможная атака с помощью файловой загрузки!\n";
}

echo $out;

?>


Вся проблема в том, что на сервере нет и не будет php, следовательно нужно обработчик написать только с использованием C++ и Qt. Как это сделать и можно ли вообще это сделать?
Другой вариант - загружать через JavaScript методом put, однако найденный в интернете пример не работает.
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
IGHOR
@IGHOR Куратор тега Qt
Qt/C++ DEV/CTO
В Qt SDK нет классов для создания HTTP сервера, придется писать свою реализацию на основе QTcpServer.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
27 нояб. 2024, в 17:41
2000 руб./за проект
27 нояб. 2024, в 17:26
1 руб./за проект
27 нояб. 2024, в 17:17
3000 руб./за проект