代码拉取完成,页面将自动刷新
#include "responsefile.h"
#include "mime.h"
#include <QFile>
#include <QFileInfo>
bool ResponseFile::s_initialized = false;
int ResponseFile::s_buffer_size = DEFAULT_REQUEST_BUFFER_SIZE;
int ResponseFile::vistor = 0;
void ResponseFile::initialize()
{
s_initialized = true;
s_buffer_size = 1048576;
}
//return the page in server
ResponseFile::ResponseFile(QTcpSocket* socket, int http_status_code, QMap<QString, QString>& header, QString filename):
Response(socket, http_status_code, header),
m_filename(filename)
{
if (!s_initialized)
initialize();
if (m_http_status_code != 200)
{
m_filename = QString("response/%1.html").arg(m_http_status_code);
}
QFileInfo file_info(m_filename);
m_header["Content-Type"] = Mime::instance().getMimeType(file_info.suffix());
m_header["Content-Length"] = QString("%1").arg(file_info.size());
m_header["Last-Modified"] = Common::getTimeStampString(file_info.lastModified().toUTC());
}
void ResponseFile::response()
{
responseHeader();
QFile file(m_filename);
if (!file.open(QFile::ReadOnly))
; //TODO
char* buffer = new char[s_buffer_size];
while (!file.atEnd())
{
int len = file.read(buffer, s_buffer_size);
m_socket->write(buffer, len);
m_socket->flush();
}
delete[] buffer;
incrVistor();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。