我想将文件传递给[Webmethod],然后将其作为电子邮件附件发送。
我将如何做到这一点?我不确定从哪里开始?
FileUpload1.PostedFile.FileName 和 FileUpload1.FileContent 是我要传递给我[webmethod]的两件事。
我的问题是 FileUpload1.FileContent ,因为我已经可以将 FileUpload1.PostedFile.FileName 作为字符串发送
lblEmailSent.Text = Send.Sendemail(txtTo.Text, txtSubject.Text, txtbody.Text, FileUpload1.PostedFile.FileName, FileUpload1.FileContent);
My Call Statement用蓝色下划线,给出的两个错误如下:
* 1) *最佳重载方法匹配 'WebTestServiceApp.localhost.Service1.Sendemail(字符串,字符串, string,string,WebTestServiceApp.localhost.Stream)'有一些无效 参数
* 2) *参数5:无法从'System.IO.Stream'转换为 'WebTestServiceApp.localhost.Stream'
请有人告诉我如何将 FileUpload1.FileContent 发送到[Webmethod]
提前致谢。
答案 0 :(得分:2)
我的建议是:忘记FileUpload
- 只需传递byte[]
和string
(为了名称或其他任何需要的内容)。这应该由系统处理为base-64。
从FileUpload
您应该有权访问.FileBytes
和.FileName
,从而避免混淆Stream
等。
在接收端(带byte[]
参数),只需:
using(var stream = new MemoryStream(theByteArray)) {...}