1
我想在我的Qt應用程序中獲取託管在Amazon S3上的文件的文件大小。Qt獲取Amazon S3文件的內容長度
下面的代碼的偉大工程,對於非S3文件,但對於簽署S3鏈接它打印出QVariant(Invalid)
看來,內容長度是不是在S3 HTTP標頭......讓我怎麼弄文件大小?
void MainWindow::requestFileSize(QString url)
{
QNetworkRequest req;
m_netmanager = new QNetworkAccessManager(this);
QUrl strict_url = QUrl::fromEncoded(url.toStdString().c_str(),QUrl::StrictMode);
req.setUrl(strict_url);
m_reply = m_netmanager->head(req);
connect(m_reply, SIGNAL(metaDataChanged()), this, SLOT(fileSize()));
}
void MainWindow::fileSize()
{
qDebug() << "Content Length: " << m_reply->header(QNetworkRequest::ContentLengthHeader);
}
以供將來參考,請張貼一個自包含的代碼,我們可以建立和運行。 – lpapp
@stukennedy可以發佈鏈接,以便驗證內容長度標題是否實際存在於響應標題中。 –
很容易將我發佈的代碼放到一個新的項目中並構建它(只需要頭部定義幷包含依賴項),而無需使用與該問題無關的代碼混淆帖子。希望沒關係...無論如何,請看下面的解決方案,只是想通了。 – stukennedy