用VC6写com组件实现文件上传,遇到棘手问题,请赐教 用BSTR,你是怎么写上传的,给我详细说一下吗?[email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我估计就是没有用BSTR的原因, 用现成的用于asp上传的com组件不是方便一点吗?看看这个吧,不行再说。http://www.vchelp.net/source/submit/iis_upload_file_com.zip 在COM中,建议不要使用CHAR类型,使用BSTR类型。 BSTR是字符串,不适合于二进制文件的传输。我用unsigned char*做文件传输没问题。 利用COM组件实现文件上传的问题我已经解决了。下面介绍给大家,同时也谢谢各位的参与。接口改为HRESULT TransferFile([in] VARIANT FileName, [in] long Len, [in] VARIANT Data, [out,retval] short *rlt)实现为(部分)SAFEARRAY* pSA;pSA = Data.parray;BYTE *pvData;::SafeArrayAccessData(pSA, (void **)&pvData); FILE *f;if ((f = fopen((char *)(_bstr_t)FileName, "ab"))!=NULL){ fwrite(pvData, sizeof(char), Len, f); fclose(f);}::SafeArrayUnaccessData(pSA); 有没有可以拉动的饼图控件? 我估计没几个人知道:如何获得处理器温度 风扇转速,并且调节转速? 问一个菜鸟问题 100分求解,不够在加,如何如将压缩格式的avi转成bmp,请高手指点 弹出菜单? CFileDialog的问题~~~不知道是否与unicode相关 如何获得用户操作日志 多线程技术... IE工具栏编程问题? 怎样显示文本? 一个抓屏代码! 请教一个关于文件对话框多项选择和内存分配的问题
看看这个吧,不行再说。
http://www.vchelp.net/source/submit/iis_upload_file_com.zip
我用unsigned char*做文件传输没问题。
HRESULT TransferFile([in] VARIANT FileName, [in] long Len, [in] VARIANT Data, [out,retval] short *rlt)实现为(部分)
SAFEARRAY* pSA;
pSA = Data.parray;
BYTE *pvData;
::SafeArrayAccessData(pSA, (void **)&pvData);
FILE *f;
if ((f = fopen((char *)(_bstr_t)FileName, "ab"))!=NULL)
{
fwrite(pvData, sizeof(char), Len, f);
fclose(f);
}
::SafeArrayUnaccessData(pSA);