Web . HTML, CGI ISAPI



FILEUPL - 6


// WWW: http://www.glasnet.ru/~frolov

//

// http://www.dials.ccas.ru/frolov

// ===============================================

#include <windows.h>

#include <httpext.h>

// ,

LPVOID ReadClientMIME(EXTENSION_CONTROL_BLOCK*lpECB,

int *nStatus);

BOOL GetMIMEBoundary(LPVOID lpDataMIME, LPSTR lpBuffer,

DWORD dwBufSize);

// =============================================================

// GetExtensionVersion

// ISAPI

//

// =============================================================

BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO *pVer)

{

// ISAPI

pVer->dwExtensionVersion =

MAKELONG(HSE_VERSION_MINOR,HSE_VERSION_MAJOR );

//

lstrcpyn(pVer->lpszExtensionDesc,

"Remote File Upload", HSE_MAX_EXT_DLL_NAME_LEN);

return TRUE;

}

// =============================================================

// HttpExtensionProc

// =============================================================

DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK*lpECB)

{

CHAR szBuff[4096];

HANDLE hOutFile;

DWORD dwWritten;

LPVOID lpDataMIME;

int nStatus;

// -

lpECB->dwHttpStatusCode = 0;

// MIME

lpDataMIME = ReadClientMIME(lpECB, &nStatus);

if(lpDataMIME != NULL)

{

//

hOutFile = CreateFile("e:\\InetPub\\scripts\\uploaded.dat",

GENERIC_WRITE, FILE_SHARE_READ, NULL,

CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

if(hOutFile != INVALID_HANDLE_VALUE)

{

//

WriteFile(hOutFile, lpDataMIME,