загрузить и загрузить файл на сервер minio с помощью QNetworkAccessManager - PullRequest
0 голосов
/ 11 марта 2020

Я хочу загрузить и загрузить файл на сервер minio с помощью QNetworkAccessManager. Я создаю корзину и отправляю свой файл png моему локальному хосту, но получаю неверный запрос.

QEventLoop eventLoop;
QNetworkAccessManager mgr;
QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));

QUrl url = QUrl(QString("http://127.0.0.1:9000/minio/mybucket/"));
QUrlQuery params;
params.addQueryItem("key", "mykey");
params.addQueryItem("AWSAccessKeyId", "mykey");
params.addQueryItem("Content-Type", "image/png");
params.addQueryItem("file", "test.png");

QByteArray data;
data = params.query(QUrl::FullyEncoded).toUtf8();

QNetworkRequest request;
request.setUrl(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");

QNetworkReply *reply = mgr.post(request, data);  // POST
eventLoop.exec(); // blocks stack until "finished()" has been called

if (reply->error() == QNetworkReply::NoError) {
    qDebug() << "Success";
} else {
    //failure
    qDebug() << "Failure" <<reply->errorString();
    delete reply;
}
...