uploader.h

来自「我改写的一个asp上载文件的组件程序」· C头文件 代码 · 共 71 行

H
71
字号
// Uploader.h: Definition of the CUploader class
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_UPLOADER_H__9458DE35_F495_48B1_B63C_72FDE3B9242C__INCLUDED_)
#define AFX_UPLOADER_H__9458DE35_F495_48B1_B63C_72FDE3B9242C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CUploader

class CUploader : 
	public IDispatchImpl<IUploader, &IID_IUploader, &LIBID_ASPUPLOADERLib>, 
	public ISupportErrorInfo,
	public CComObjectRoot,
	public CComCoClass<CUploader,&CLSID_Uploader>
{
public:
	CUploader();
	~CUploader();
BEGIN_COM_MAP(CUploader)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IUploader)
	COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
//DECLARE_NOT_AGGREGATABLE(CUploader) 
// Remove the comment from the line above if you don't want your object to 
// support aggregation. 

DECLARE_REGISTRY_RESOURCEID(IDR_Uploader)
// ISupportsErrorInfo
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);

// IUploader
public:
	STDMETHOD(SetOverwrite)(/*[in]*/long overwrite);
	STDMETHOD(SetAllowedExtensions)(/*[in]*/ SAFEARRAY *FileExtensions);
	STDMETHOD(SetForbiddenExtensions)(/*[in]*/ SAFEARRAY* FileExtensions);
	STDMETHOD(SetDestinationPath)(/*[in]*/ BSTR bsPath);
	STDMETHOD(GetError)(/*[in]*/ long lError, /*[out, retval]*/ BSTR* psReturn);
	STDMETHOD(SetMaxFileSize)(/*[in]*/ long lSize);
	STDMETHOD(GetFormValue)(/*[in]*/ BSTR bsFieldName, /*[out, retval]*/ BSTR* psReturn);
	STDMETHOD(UploadFile)(/*[in]*/ BSTR bsFieldName, /*[out, retval]*/ long* plResult);
	STDMETHOD(GetFileSize)(/*[in]*/ BSTR bsFieldName, /*[out, retval]*/ long* file_size);
	STDMETHOD(GetUploadFilename)(/*[in]*/ BSTR bsField, /*[out, retval]*/ BSTR* pbsFilename);
	STDMETHOD(StartUpload)(/*[in]*/IUnknown *pIUnk, /*[out,retval]*/long *ret);

protected:	
	BOOL FileExtensionAllowed(LPCTSTR lpszExtension);

	long    m_lMaxSize;
	CString m_sDestPath;
	CStringList m_ExtensionList;
	CStringList m_ForbiddenList;

	LPBYTE  m_lpBytesData; 
	long    m_lDataSize;
	CString m_sHeader;
	CString m_sDelimiter;
	long m_file_size;
	CString m_errmsg;
	long m_overwrite;
};

#endif // !defined(AFX_UPLOADER_H__9458DE35_F495_48B1_B63C_72FDE3B9242C__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?