upload image to my own server
Some checks failed
Packaging(Linux) / Build deb on debian-10 amd64 (push) Has been cancelled
Packaging(Linux) / Build deb on debian-11 amd64 (push) Has been cancelled
Packaging(Linux) / Build deb on ubuntu-20.04 amd64 (push) Has been cancelled
Packaging(Linux) / Build deb on ubuntu-22.04 amd64 (push) Has been cancelled
Packaging(Linux) / Build deb on debian-10 arm64 (push) Has been cancelled
Packaging(Linux) / Build deb on debian-11 arm64 (push) Has been cancelled
Packaging(Linux) / Build deb on debian-10 armhf (push) Has been cancelled
Packaging(Linux) / Build deb on debian-11 armhf (push) Has been cancelled
Packaging(Linux) / Build rpm on fedora-35 x86_64 (push) Has been cancelled
Packaging(Linux) / Build rpm on fedora-36 x86_64 (push) Has been cancelled
Packaging(Linux) / Build rpm on opensuse-leap-15.2 x86_64 (push) Has been cancelled
Packaging(Linux) / Build appimage on ubuntu-20.04 (push) Has been cancelled
Packaging(Linux) / Build flatpak on ubuntu-20.04 (push) Has been cancelled
Packaging(Linux) / Build snap on ubuntu-20.04 (push) Has been cancelled
Packaging(MacOS) / macOS Monterey 12 (push) Has been cancelled
Packaging(Windows) / VS 2019 x64-installer (push) Has been cancelled
Packaging(Windows) / VS 2019 x64-portable (push) Has been cancelled
Packaging(Windows) / VS 2019 x86-installer (push) Has been cancelled
Packaging(Windows) / VS 2019 x86-portable (push) Has been cancelled
Building(CMake) / ubuntu-22.04 (push) Has been cancelled
Building(CMake) / windows-build (map[artifact:Windows-MSVC.tar.xz cc:cl cxx:cl environment_script:C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat name:Windows 2019 MSVC os:windows-2019]) (push) Has been cancelled
test-clang-format / build (push) Has been cancelled

This commit is contained in:
Ben Kyd
2023-01-18 00:46:35 +00:00
parent 685d0ee84b
commit 773f25a57b

View File

@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2017-2019 Alejandro Sirgo Rica & Contributors
#include <iostream>
#include "imguruploader.h"
#include "src/utils/confighandler.h"
#include "src/utils/filenamehandler.h"
@@ -35,7 +36,7 @@ void ImgurUploader::handleReply(QNetworkReply* reply)
QJsonDocument response = QJsonDocument::fromJson(reply->readAll());
QJsonObject json = response.object();
QJsonObject data = json[QStringLiteral("data")].toObject();
setImageURL(data[QStringLiteral("link")].toString());
setImageURL(data[QStringLiteral("url")].toString());
auto deleteToken = data[QStringLiteral("deletehash")].toString();
@@ -64,23 +65,28 @@ void ImgurUploader::upload()
QByteArray byteArray;
QBuffer buffer(&byteArray);
pixmap().save(&buffer, "PNG");
QString encoded = buffer.data().toBase64();
QJsonObject obj;
obj["img"] = "data:image/png;base64," + encoded + "==";
QJsonDocument doc(obj);
QByteArray data = doc.toJson();
QUrlQuery urlQuery;
urlQuery.addQueryItem(QStringLiteral("title"), QStringLiteral(""));
QString description = FileNameHandler().parsedPattern();
urlQuery.addQueryItem(QStringLiteral("description"), description);
QUrl url(QStringLiteral("https://api.imgur.com/3/image"));
QUrl url(QStringLiteral("http://127.0.0.1/image"));
url.setQuery(urlQuery);
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader,
"application/application/x-www-form-urlencoded");
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
request.setRawHeader("Authorization",
QStringLiteral("Client-ID %1")
.arg(ConfigHandler().uploadClientSecret())
.toUtf8());
m_NetworkAM->post(request, byteArray);
m_NetworkAM->post(request, data);
}
void ImgurUploader::deleteImage(const QString& fileName,