38 QString fileTemplate = QStringLiteral(
"%1/qt_temp.XXXXXX");
39 QFile out(fileTemplate.arg(QFileInfo(newName).path()));
40 if (!out.open(QIODevice::ReadWrite)) {
46 setErrorString(QLatin1String(
"Failed to open file for saving: ") + out.errorString());
47 qCWarning(CUTELYST_UPLOAD) << errorString();
49 qint64 posOrig = d->pos;
54 qint64 in = read(block,
sizeof(block));
57 if (in != out.write(block, in)) {
58 setErrorString(QLatin1String(
"Failure to write block"));
59 qCWarning(CUTELYST_UPLOAD) << errorString();
69 if (!error && !out.rename(newName)) {
71 setErrorString(QStringLiteral(
"Cannot create %1 for output").arg(newName));
72 qCWarning(CUTELYST_UPLOAD) << errorString();
85 std::unique_ptr<QTemporaryFile> ret;
87#ifndef QT_NO_TEMPORARYFILE
89 if (templateName.isEmpty()) {
90 ret = std::make_unique<QTemporaryFile>();
92 ret = std::make_unique<QTemporaryFile>(templateName);
97 qint64 posOrig = d->pos;
102 qint64 in = read(block,
sizeof(block));
106 if (in != ret->write(block, in)) {
107 setErrorString(QLatin1String(
"Failure to write block"));
108 qCWarning(CUTELYST_UPLOAD) << errorString();
122 qCWarning(CUTELYST_UPLOAD) <<
"Failed to open temporary file.";
126 Q_UNUSED(templateName);
159 open(prv->device->openMode());
160 const QByteArray disposition = prv->headers.contentDisposition();
161 int start = disposition.indexOf(
"name=\"");
164 int end = disposition.indexOf(u
'"', start);
167 d->name = QString::fromLatin1(disposition.sliced(start, end - start));
171 start = disposition.indexOf(
"filename=\"");
174 int end = disposition.indexOf(
'"', start);
176 d->filename = QString::fromLatin1(disposition.sliced(start, end - start));