【发布时间】:2012-05-04 05:55:54
【问题描述】:
我想将文件传递到 [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);
我的通话声明带有蓝色下划线,给出的两个错误如下所示:
*1)*最佳重载方法匹配 'WebTestServiceApp.localhost.Service1.Sendemail(字符串,字符串, string, string, WebTestServiceApp.localhost.Stream)' 有一些无效 论据
*2)*参数 5:无法从 'System.IO.Stream' 转换为 'WebTestServiceApp.localhost.Stream'
请有人告诉我如何将 FileUpload1.FileContent 发送到 [Webmethod]
提前致谢。
【问题讨论】:
-
要查看我正在尝试做什么,请查看我的问题:*.com/q/10431928/1356321 这将让您了解我目前拥有的代码。
-
IMO,序列化和反序列化
UploadFile的“正确”方法是......不要这样做。如果您需要传递文件名和数据,那么一定要这样做 - 但这不需要UploadFile -
好的,我如何将 FileUpload1.FileContent 传递给 Web 方法???,我需要将文件附加到电子邮件中,所以我需要上传文件
-
不,你需要发送数据;这不需要通过
UploadFile完成; base-64 字符串(或byte[]如果可行)会简单得多 -
你指的是哪个“你”? -1 不是我的,并不重要。你希望我为暂时离开我的电脑而道歉吗?发送数据:和你平时在http上发送数据的方式一样; http 正文、http 表单、查询字符串或标题。随便挑。更一般地说:问题是“我如何[一些已经选择的,也许是错误的,实施]?” - 我是说你需要退后一步:“我如何[我想要实现的事情]?”。比较:“拧螺丝用什么锤子最好?”
标签: c# file file-upload webmethod