Qt 上传图片到服务器
#define BOUND "margin"
void setHttpUrl()
{
QFile file(imagePath);
QFileInfo fileInfo(file);
QUrl url("http://www.***.com/update-product-info/plugin.php?special=index&run=upload");
QByteArray data;
data.append("--" + QByteArray(BOUND) + "\r\n");
data.append("Content-Disposition: form-data; name=\"product_name\"\r\n\r\n");
#ifdef Q_OS_MAC
data.append(qApp->applicationName().toUtf8() + QString(" mac").toUtf8());
#else
data.append(qApp->applicationName().toUtf8());
#endif
data.append("\r\n");
data.append("--" + QByteArray(BOUND) + "\r\n");
data.append("Content-Disposition: form-data; name=\"Movie_Title\"\r\n\r\n");
data.append(moveTitle.toUtf8());
data.append("\r\n");
data.append("--" + QByteArray(BOUND) + "\r\n");
data.append("Content-Disposition: form-data; name=\"file\";filename=\"");
data.append(fileInfo.fileName().toUtf8());
data.append("\"\r\n");
data.append("Content-Type: image/jpeg\r\n\r\n");
if (file.open(QIODevice::ReadOnly))
{
data.append(file.readAll());
data.append("\r\n");
}
data.append("--" + QByteArray(BOUND) + "--\r\n");
QNetworkRequest request(url);
request.setRawHeader(QString("Content-Type").toAscii(),
QString("multipart/form-data; boundary=" + QByteArray(BOUND)).toAscii());
request.setRawHeader(QString("Content-Length").toAscii(),
QString::number(data.length()).toAscii());
QNetworkReply *reply = BrowserApplication::networkAccessManager()->post(request , data);
}