C++ 开发mobile程序得图片上传问题

zytkwlh 2008-11-26 05:48:24
请大家帮帮菜鸟 看一下下面的代码 :手机端以wap形式连接得时候上传图片不成功,以internet形式连接的时候可以上传图片,不知道问题出在那里,还是某些技术没弄懂!请大家指教:

HRESULT ImageUpLoad(LPCWSTR tUrl, LPCWSTR tFileName)
{
HRESULT hr = S_OK;
HANDLE hFile = 0;
ULONG cbWritten = 0;
DWORD dwSizeLow = 0,
dwSizeHigh = 0,
dwError = 0,
dwBytes = 0;
ULARGE_INTEGER uli = {0};
BOOL bRet;

int i = 0;
BYTE *pAllbyteData = NULL;
hFile = CreateFile(tFileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
hr = E_INVALIDARG;
goto Error;
}


dwSizeLow = GetFileSize (hFile, & dwSizeHigh);
if (dwSizeLow == 0xFFFFFFFF &&
(dwError = GetLastError()) != NO_ERROR )
{
hr = E_FAIL;
goto Error;
}



HINTERNET hOpen;
HINTERNET hConnect;
HINTERNET hRequest;
DWORD dwBytesWritten;
DWORD dwByteToRead = 0;
DWORD dwSizeOfRq = 4;
int iResult = 0;
DWORD dwSize;
CHAR szBuffer[1024];
FillMemory(szBuffer, 1024, 0);

if (!(hOpen = InternetOpen(L"EXAMPLE", INTERNET_OPEN_TYPE_PRECONFIG, NULL, INTERNET_INVALID_PORT_NUMBER, 0)))
{
hr = GetLastError();
printf("%d", hr);
goto Error;
}


if (!(hConnect = InternetConnect(hOpen, SERVERIP, 8000, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0)))
{
hr = GetLastError();
printf("%d", hr);
goto Error;
}

if (!(hRequest = HttpOpenRequest (hConnect, L"POST",tUrl, L"HTTP/1.1", NULL, 0, INTERNET_FLAG_MAKE_PERSISTENT,
0)))
{
hr = GetLastError();
printf("%d", hr);
goto Error;
}

INTERNET_BUFFERS inBuf;
ZeroMemory(&inBuf, sizeof(INTERNET_BUFFERS));
inBuf.dwStructSize = sizeof(INTERNET_BUFFERS);
inBuf.lpvBuffer = NULL;
inBuf.dwBufferLength = dwSizeLow;
inBuf.dwBufferTotal = dwSizeLow;
SetLastError(0);
BOOL bSendRequest = HttpSendRequestEx(hRequest, &inBuf,NULL, NULL, NULL);
if (bSendRequest)
{
while (ReadFile(hFile, szBuffer, 1024, &dwBytes, NULL)&& (dwBytes!=0))
{
bRet=InternetWriteFile( hRequest, szBuffer, dwBytes, &dwBytesWritten);
if (! bRet)
{
hr = GetLastError();
goto Error;
}
}
}
else
{
iResult = GetLastError();
printf("%d", iResult);
goto Error;

}


while (! HttpEndRequest(hRequest,NULL,NULL,NULL))
{

}
Error:
delete[] (pAllbyteData);

if(hFile != INVALID_HANDLE_VALUE && hFile != 0)
{
CloseHandle(hFile);
}

if (hOpen)
{
InternetCloseHandle (hOpen);
}

if (hConnect)
{
InternetCloseHandle (hConnect);
}

if (hRequest)
{
InternetCloseHandle (hRequest);
}
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zytkwlh 2008-11-27
  • 打赏
  • 举报
回复
懂点 就说你懂得那个部分了 谢过了
zytkwlh 2008-11-27
  • 打赏
  • 举报
回复
谁来帮我解决在线等 急~~~~~~~~~~~
zytkwlh 2008-11-27
  • 打赏
  • 举报
回复
自己也来顶一下 希望大家来讨论!
就呆在云上 2008-11-26
  • 打赏
  • 举报
回复
程序不长
也不短
不是很懂的东西就不说话了
帮顶
Longinc 2008-11-26
  • 打赏
  • 举报
回复
帮顶

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧