我在编写邮件客户端程序,接收邮件是使用的openpop类,在收含有图片的邮件时,图片显示有问题,如果是链接图片,则能正确显示;如果发送邮件时是上传的本地图片,接收时则不能正确显示。请问,这种情况该怎么去显示(怎么把乱码变成我要的图片?)
    当然,在接收时,我还没有把图片部分的编码完全提取出来,顺便问一下,图片部分应该有标识符吧,能告诉我是怎么标识的吗?快救救我   我快疯了
分不够   我再加哈    我的毕业设计啊     救命啊      
先谢谢各位了 

解决方案 »

  1.   

    附件其实是一串base64编码,先把那些base64编码转为stream,这样就可以用image控件之类的来显示图片了
      

  2.   

    BMP文件头:
    字段名:BfType    字段类型:int    字段偏移:0    说明:规定为“BM”是识别BMP标志
    字段名:BfSize    字段类型:long   字段偏移:2    说明:位图文件大小,字节为单位
    字段名:BfReseverd1 字段类型:int  字段偏移:6    说明:保留必须为0
    字段名:BfReseverd2 字段类型:int  字段偏移:8    说明:保留必须为0
    字段名:BfOffbits 字段类型:long   字段偏移:10   说明:位图阵列关于文件头的偏移点位图信息:
    字段名:BfCount   字段类型:int    字段偏移:28   说明:像素的位数,eg.24
    字段名:BfSizeImage 字段类型:long 字段偏移:34   说明:图像字节数,但通常为空位图阵列:
        位图阵列中每3个字节表示一个像素,
        3个字节依次表示这个像素的红(R)、绿(G)、蓝(B)亮度分值。
      

  3.   

    片部分应该有标识符吧  
    规定为“BM”是识别BMP标志其他的自己找吧
      

  4.   

    图片在浏览器中显示的时候,是采用的html语法,以<img>开始,如果是上传的本地图片,图片文件本身没有被发送,而只是传送了<img>中的src属性,即图片所在地址.所以读取出来是乱码或者不能显示图片.
        如果上传本地图片,楼主可以考虑先把图片上传到某服务器,然后得到图片的地址,然后在客户端读取.或者将图片以二进制的形式放在数据库中,读取的时候再将其从数据库中读出.网上有很多相关的例子.
      

  5.   

    先谢谢了 TO:bobomouse(波波) 
       我用Foxmail写新邮件时,插入了一张本地的图片,发送后,别人照样可用顺利的接收显示啊?而我的程序却不行。TO:Avoid(好象又涨分了) 
        我用的OPENPOP类,编码的转换已经再类中不可见的实现了,我现在得到的那段乱码是不是所转换的stream?能将她给图片显示控件显示(先不考虑显示在什么地方,能显示是最重要的)吗?标识符的我慢慢来想办法
      

  6.   


    如果我用foxmail插入本地图片发送的话,
    接收时图片显示为占位符,看原始文件,图片处是这样的:src="cid:[email protected]"这是什么原因