CString CAppOctetStream::build_sub_header(LPCTSTR szContent, LPCTSTR szParameters, int nEncoding, BOOL bPath) { CString sSubHeader; CString sTemp; TCHAR szFName[ _MAX_FNAME ]; TCHAR szExt[ _MAX_EXT ]; _tsplitpath( szContent, NULL, NULL, szFName, szExt ); // This class ignores szParameters and nEncoding. // It controls its own parameters and only handles // Base64 encoding. if( bPath ) sTemp.Format( "; file=%s%s", szFName, szExt ); else sTemp = _T( "" ); sSubHeader.Format( _T( "Content-Type: %s%s\r\n" ), (LPCTSTR)GetContentTypeString(), (LPCTSTR)sTemp ); sSubHeader += _T( "Content-Transfer-Encoding: base64\r\n" ); sTemp.Format( _T( "Content-Disposition: attachment; filename=%s%s\r\n" ), szFName, szExt ); sSubHeader += sTemp; // Signal end of sub-header. sSubHeader += _T( "\r\n" ); // Warning: numerous concatenations // are inefficient. return sSubHeader; }
CString CTextPlain::build_sub_header(LPCTSTR szContent, LPCTSTR szParameters, int nEncoding, BOOL bPath) { CString sSubHeader; sSubHeader.Format( _T( "Content-Type: %s%s\r\n" ), (LPCTSTR)GetContentTypeString(), szParameters ); sSubHeader += _T( "Content-Transfer-Encoding: " ); switch( nEncoding ) { // This class handles only 7bit encoding, but others // may be added here. default: //Fall through to... case CMIMEMessage::_7BIT: sSubHeader += _T( "7Bit" ); } sSubHeader += _T( "\r\n\r\n" ); return sSubHeader; }