用BSTR,
你是怎么写上传的,给我详细说一下吗?
[email protected]

解决方案 »

  1.   

    我估计就是没有用BSTR的原因,
      

  2.   

    用现成的用于asp上传的com组件不是方便一点吗?
    看看这个吧,不行再说。
    http://www.vchelp.net/source/submit/iis_upload_file_com.zip
      

  3.   

    在COM中,建议不要使用CHAR类型,使用BSTR类型。
      

  4.   

    BSTR是字符串,不适合于二进制文件的传输。
    我用unsigned char*做文件传输没问题。
      

  5.   

    利用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);