|
- CFile file;
- if (!file.Open("C:\\Users\\wddd\\Desktop\\16k_test.pcm", CFile::typeBinary | CFile::modeRead))
- return;
- UINT FileLength = file.GetLength();
- const UINT buffer_size = 200000;
- char buffer[buffer_size] = { 0 };
-
-
- UINT read_size = 0;
- read_size = file.Read(buffer, FileLength);
复制代码
先是以二进制方式读取文件,放到buffer中,之后,检测buffer内存区域的数据,确认与notep++打开文件的 二进制内容是一样的。
- IWinHttpRequestPtr pHttpReq = NULL;
- HRESULT hr = pHttpReq.CreateInstance(__uuidof(WinHttpRequest));
- if (FAILED(hr))return;
- hr = pHttpReq->Open(_T("POST"), _T("xxxxxxxx"));
- if (FAILED(hr))return;
- pHttpReq->SetRequestHeader(_T("Content-Type"), _T("audio/pcm;rate=16000"));
- hr = pHttpReq->Send(buffer);
- if (FAILED(hr))return;
- _bstr_t bstrRsp = pHttpReq->ResponseText;
复制代码
然后把buffer当做send的body,直接传出去了。
问题来了,这个send好像遇到\0的数据还是0的数据,就自动停止读取了,抓包分析,body数据之中 只有几个字符,代表是没读完的。
如果想让数据完全发送,请问可以用什么方式?
|
上一篇: 文件查找,在执行程序后,控制台里面没有打印查找到的内容下一篇: C语言函数练习题
|