如何通过套接字发送PDF文件?

SunnyJ

我打开了一个二进制格式的文件,并将其提取为String。之后,我尝试将其作为HTTP答复发送。最后,它看起来像这样:

ptr->Sendall((char*)"HTTP/1.1 200 OK\r\n");
ptr->Sendall((char*)"Content-Type: pdf/html\r\n");
ptr->Sendall((char*)"Content-Length: 16384\r\n");
ptr->Sendall((char*)"\r\n");
ptr->Sendall((char*)wholeString.c_str());
ptr->Sendall((char*)"\r\n\r\n");

内容长度等于String的总大小。

我在Google Chrome浏览器中出现错误:无法加载pdf文件

塔德曼

根据定义,二进制文件可能包含使它们无法表示为C字符串的字符。您命中的第一个NUL字节将过早结束字符串,并且这些字符串会频繁出现在各种文件中。

std::string可以代表这些很好。c_str()将返回一个指向完整数据的指针,但是您必须将其视为原始缓冲区,而不是C字符串,并且还要为SendAll类型函数提供长度

它可能会更好,使SendAll取要么const char*const std::string&作为参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过套接字发送字符串数组对象?

来自分类Dev

通过套接字发送图像

来自分类Dev

如何通过套接字发送字符串和整数?

来自分类Dev

如何通过python中的套接字发送数组

来自分类Dev

如何处理通过套接字Java发送的大对象?

来自分类Dev

如何向后发送返回地址(通过套接字)-Python

来自分类Dev

通过套接字同时发送或接收文件或数据

来自分类Dev

通过Python中的TCP套接字发送文件

来自分类Dev

通过套接字发送BYTE *

来自分类Dev

通过Linux套接字发送文件描述符

来自分类Dev

通过Java套接字发送小文件时的性能问题

来自分类Dev

如何在C中通过TCP套接字通过HTTP发送文件?

来自分类Dev

如何在C#中通过套接字发送文件

来自分类Dev

通过套接字发送对象

来自分类Dev

Java通过套接字发送和接收文件

来自分类Dev

通过TCP套接字发送多个文件

来自分类Dev

通过套接字发送jar文件时损坏

来自分类Dev

通过套接字发送后,Jar文件损坏

来自分类Dev

通过套接字发送对象

来自分类Dev

读取文件并通过套接字连接发送而不循环

来自分类Dev

如何在C中通过TCP套接字通过HTTP发送文件?

来自分类Dev

如何通过套接字发送HTTPS请求?

来自分类Dev

通过套接字发送文件时如何给出符号并退出不定式循环

来自分类Dev

通过套接字发送大型JSON文件

来自分类Dev

通过套接字发送文件 - 缓冲区大小

来自分类Dev

Python通过套接字发送文件

来自分类Dev

如何通过c中的套接字发送多个文件?

来自分类Dev

无法通过套接字发送

来自分类Dev

如何通过 Dart 中的套接字发送文件