mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-26 11:16:20 +03:00
Fix torrent upload from Web UI (Windows)
This commit is contained in:
parent
af1dfd41ab
commit
217937217d
2 changed files with 11 additions and 5 deletions
|
@ -825,6 +825,8 @@ QTorrentHandle QBtSession::addMagnetUri(QString magnet_uri, bool resumed) {
|
||||||
qDebug("addMagnetURI: using save_path: %s", qPrintable(savePath));
|
qDebug("addMagnetURI: using save_path: %s", qPrintable(savePath));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qDebug("Adding magnet URI: %s", qPrintable(magnet_uri));
|
||||||
|
|
||||||
// Adding torrent to Bittorrent session
|
// Adding torrent to Bittorrent session
|
||||||
try {
|
try {
|
||||||
h = QTorrentHandle(add_magnet_uri(*s, magnet_uri.toStdString(), p));
|
h = QTorrentHandle(add_magnet_uri(*s, magnet_uri.toStdString(), p));
|
||||||
|
|
|
@ -389,23 +389,27 @@ void HttpConnection::respondCommand(QString command)
|
||||||
QByteArray torrentfile = parser.torrent();
|
QByteArray torrentfile = parser.torrent();
|
||||||
// Get a unique filename
|
// Get a unique filename
|
||||||
QString filePath;
|
QString filePath;
|
||||||
QTemporaryFile tmpfile;
|
QTemporaryFile *tmpfile = new QTemporaryFile;
|
||||||
tmpfile.setAutoRemove(false);
|
tmpfile->setAutoRemove(false);
|
||||||
if (tmpfile.open()) {
|
if (tmpfile->open()) {
|
||||||
filePath = tmpfile.fileName();
|
filePath = tmpfile->fileName();
|
||||||
} else {
|
} else {
|
||||||
std::cerr << "I/O Error: Could not create temporary file" << std::endl;
|
std::cerr << "I/O Error: Could not create temporary file" << std::endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
tmpfile.close();
|
tmpfile->close();
|
||||||
// Now temporary file is created but closed so that it can be used.
|
// Now temporary file is created but closed so that it can be used.
|
||||||
// write torrent to temporary file
|
// write torrent to temporary file
|
||||||
QFile torrent(filePath);
|
QFile torrent(filePath);
|
||||||
if(torrent.open(QIODevice::WriteOnly)) {
|
if(torrent.open(QIODevice::WriteOnly)) {
|
||||||
torrent.write(torrentfile);
|
torrent.write(torrentfile);
|
||||||
torrent.close();
|
torrent.close();
|
||||||
|
} else {
|
||||||
|
std::cerr << "I/O Error: Could not create temporary file" << std::endl;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
emit torrentReadyToBeDownloaded(filePath, false, QString(), false);
|
emit torrentReadyToBeDownloaded(filePath, false, QString(), false);
|
||||||
|
delete tmpfile;
|
||||||
// Prepare response
|
// Prepare response
|
||||||
generator.setStatusLine(200, "OK");
|
generator.setStatusLine(200, "OK");
|
||||||
generator.setContentTypeByExt("html");
|
generator.setContentTypeByExt("html");
|
||||||
|
|
Loading…
Reference in a new issue