CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

一个关于jmail的问题,其实是一个关于文件流的问题,望高手指教,谢谢!!!!

楼主loverdotnet(西瓜)2005-04-03 21:35:14 在 .NET技术 / ASP.NET 提问

代码如下:  
    Dim   popMail   As   jmail.POP3Class   =   New   jmail.POP3Class  
                  Dim   mailMessage   As   jmail.Message  
                  Dim   atts   As   jmail.Attachments  
                  Dim   att   As   jmail.Attachment  
                  Dim   con   As   System.Data.SqlClient.SqlConnection  
                  Dim   strcmd   As   String  
                  Dim   cmd   As   System.Data.SqlClient.SqlCommand  
                  con   =   New   System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings("Sample"))  
                  'Try  
                  popMail.Connect("china91ad",   "1978221",   "webmail.china91.com",   110)  
                  If   0   <   popMail.Count   Then  
                          Dim   i   As   Integer   =   1  
                          While   i   <=   popMail.Count  
                                  mailMessage   =   popMail.Messages(i)  
                                  atts   =   mailMessage.Attachments  
                                  mailMessage.Charset   =   "GB2312"  
                                  mailMessage.Encoding   =   "Base64"  
                                  mailMessage.ISOEncodeHeaders   =   False  
                                  strcmd   =   "insert   email   (emltitle,emlform,emlformname,subject,body)   values   (@emltitle,@emlform,@emlformname,@subject,@body)"  
                                  cmd   =   New   System.Data.SqlClient.SqlCommand(strcmd,   con)  
                                  cmd.Parameters.Add("@emltitle",   System.Data.SqlDbType.VarChar).Value   =   mailMessage.Subject  
                                  cmd.Parameters.Add("@emlform",   System.Data.SqlDbType.VarChar).Value   =   mailMessage.From  
                                  cmd.Parameters.Add("@emlformname",   System.Data.SqlDbType.VarChar).Value   =   mailMessage.FromName  
                                  cmd.Parameters.Add("@subject",   System.Data.SqlDbType.VarChar).Value   =   mailMessage.Subject  
                                  cmd.Parameters.Add("@body",   System.Data.SqlDbType.VarChar).Value   =   mailMessage.Body  
                                  con.Open()  
                                  cmd.ExecuteNonQuery()  
                                  con.Close()  
                                  'txtpriority.Text   =   mailMessage.Priority.ToString  
                                  'txtSendMail.Text   =   mailMessage.From  
                                  'txtSender.Text   =   mailMessage.FromName  
                                  'txtSubject.Text   =   mailMessage.Subject  
                                  'txtBody.Text   =   mailMessage.Body  
                                  'txtSize.Text   =   mailMessage.Size.ToString  
                                  Dim   j   As   Integer   =   0  
   
                                  While   j   <   atts.Count  
                                          att   =   atts(j)  
                                          Dim   intfilelen   As   Integer  
                                          Dim   objstream   As   System.IO.Stream  
                                          intfilelen   =   att.Size  
                                          Dim   arrfile(intfilelen)   As   Byte  
                                          objstream   =   att  
                                          objstream.Read(arrfile,   0,   intfilelen)  
                                          Dim   attname   As   String   =   att.Name  
                                          strcmd   =   "insert   attfile(attname,attfile)   values   (@attname,@attfile)"  
                                          cmd   =   New   System.Data.SqlClient.SqlCommand(strcmd,   con)  
                                          cmd.Parameters.Add("@attname",   System.Data.SqlDbType.VarChar).Value   =   attname  
                                          cmd.Parameters.Add("@attfile",   System.Data.SqlDbType.Image).Value   =   arrfile  
                                          con.Open()  
                                          cmd.ExecuteNonQuery()  
                                          con.Close()  
                                          'att.SaveToFile("e:\attFile\"   +   attname)  
                                          'System.Math.Min(System.Threading.Interlocked.Increment(j),   j   -   1)  
                                  End   While  
                                  'System.Math.Min(System.Threading.Interlocked.Increment(i),   i   -   1)  
                          End   While  
                          'panMailInfo.Visible   =   True  
                          att   =   Nothing  
                          atts   =   Nothing  
                  Else  
                          Response.Write("没有新邮件!")  
                  End   If  
                  popMail.DeleteMessages()  
                  popMail.Disconnect()  
                  popMail   =   Nothing  
                  'Catch  
                  'Response.Write("Warning!请检查邮件服务器的设置是否正确!")  
                  'End   Try  
          End   Sub  
   
  错误如下:  
   
  指定的转换无效。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.InvalidCastException:   指定的转换无效。  
   
  源错误:    
   
   
  行   65:                                           intfilelen   =   att.Size  
  行   66:                                           Dim   arrfile(intfilelen)   As   Byte  
  行   67:                                           objstream   =   att  
  行   68:                                           objstream.Read(arrfile,   0,   intfilelen)  
  行   69:                                           Dim   attname   As   String   =   att.Name  
     
  提示67行出错,请问各位如何转换格式  
  谢谢  
  问题点数:100、回复次数:3Top

1 楼net_lover(【孟子E章】)回复于 2005-04-04 09:41:00 得分 100

objstream   =   att这句好像没有用Top

2 楼loverdotnet(西瓜)回复于 2005-04-04 09:50:59 得分 0

就是不知道如何转换格式Top

3 楼relive8(飘叶)回复于 2005-06-13 21:20:43 得分 0

附件可以存入数据库吗?Top

相关问题

  • 关于流文件
  • 文件流问题
  • 关于文件流。。。
  • 文件流问题
  • 关于文件流
  • 文件流问题
  • 用JMail收发text/html文件格式,如何实现?
  • 怎么用JMAIL发送一个.html文件
  • 获得网络流文件
  • 怎样操作流文件

关键词

  • jmail
  • popmail
  • 问题
  • sqlclient
  • dim
  • china91
  • att
  • attachment
  • con
  • sqlconnection

得分解答快速导航

  • 帖主:loverdotnet
  • net_lover

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo