이것은 내 첫 번째 게시물이며 Qt를 처음 접했습니다.QNetworkReply의 콘텐츠를 설정하는 방법
웹 페이지를로드하기 위해 Qwebkit을 사용하고 있으며 웹에서 일부 리소스를 완전히로드하지 않으려 고합니다. 구체적으로 말하면 jpg의 바이너리 데이터 (HTML 태그가 아님) 내에서 이미지 데이터가 아닌 jpg 파일의 크기 만 얻으려고합니다. 그렇게, 나는이 다음과 같이 할 수 QNAM의 createRequest 방법을 다시 구현 한 :
QNetworkReply *NetworkAccessManager::createRequest(Operation op,const QNetworkRequest & req,QIODevice * outgoingData)
{
if (req.url().path().endsWith("jpg"))
{
CustomReply *reply = new CustomReply(QNetworkAccessManager::createRequest(op, req, outgoingData));
return reply->getQNR();
}else{
return QNetworkAccessManager::createRequest(op, req, outgoingData);
}
}
그럼 내가 QByteArray로 들어오는 데이터를 추가 내 CustomReply 클래스에서 일부 신호를 연결을 한 후 나는 QByteArray에 처리 내가 marker을 찾고 있는지 확인하십시오. 이제 여기서 어떻게 진행해야할지 모르겠다. 이 작업 후에 내가하고 싶은 것은 CustomReply :: getQNR()을 통해받은 데이터로 응답을 전달하고 연결을 종료하는 것입니다. 저장 한 QByteArray에 대한 회신 내용을 설정하는 함수를 구현해야하며 this 및 that을 읽었지만 문제가 해결되지 않았습니다.
미리 감사드립니다.
왜 이러한 링크가 도움이되지 않았는지 구체적으로 설명해 주실 수 있습니까? 그것은 원래 QNetworkReply (두 번째 링크의 답안에서 볼 수 있듯이)의 프록시처럼 보입니다. 기존 응답 오브젝트에 새 데이터를 넣을 수 없으므로 사용자 고유의 구현을 작성하여 createRequest()에서 리턴해야합니다. 연결을 종료하려면 QNetworkReply :: abort()를 호출하십시오. –