Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将文件传递到web方法?_C#_File_File Upload_Webmethod - Fatal编程技术网

C# 如何将文件传递到web方法?

C# 如何将文件传递到web方法?,c#,file,file-upload,webmethod,C#,File,File Upload,Webmethod,我想将一个文件传递到[Webmethod]中,一旦文件进入,就将其作为电子邮件附件发送 我该怎么做呢?我不知道从哪里开始 FileUpload1.PostedFile.FileName和FileUpload1.FileContent是我想要传递到[webmethod]中的两件事 我的问题是FileUpload1.FileContent,因为我已经可以将FileUpload1.PostedFile.FileName作为字符串发送 lblEmailSent.Text = Send.Sendemail

我想将一个文件传递到[Webmethod]中,一旦文件进入,就将其作为电子邮件附件发送

我该怎么做呢?我不知道从哪里开始

FileUpload1.PostedFile.FileNameFileUpload1.FileContent是我想要传递到[webmethod]中的两件事

我的问题是FileUpload1.FileContent,因为我已经可以将FileUpload1.PostedFile.FileName作为字符串发送

lblEmailSent.Text = Send.Sendemail(txtTo.Text, txtSubject.Text, txtbody.Text, FileUpload1.PostedFile.FileName, FileUpload1.FileContent);
我的Call语句用蓝色下划线,给出的两个错误如下所示:

*1) *最佳重载方法匹配 'WebTestServiceApp.localhost.Service1.Sendemail(字符串,字符串, 字符串,字符串,WebTestServiceApp.localhost.Stream)“”具有一些无效的 论据

*2) *参数5:无法从“System.IO.Stream”转换为 'WebTestServiceApp.localhost.Stream'

请有人告诉我如何将文件上传1.FileContent发送到[Webmethod]


提前谢谢。

我的建议是:忘记
文件上传
-只需传递
字节[]
字符串
(输入名称或任何您需要的内容)。系统应将其作为base-64进行处理

文件上传
中,您应该可以访问
.FileBytes
.FileName
,避免混乱

在接收端(使用
字节[]
参数),只需:


要了解我在尝试做什么,请查看我的问题:这将让您了解到目前为止我拥有的代码。IMO,序列化和反序列化上载文件的“正确”方法是。。。不要那样做。如果你需要传递一个文件名和数据,那么一定要这样做-但这不需要
UploadFile
Ok那么我如何将FileUpload1.FileContent传递到Webmethod???,我需要将一个文件附加到电子邮件中,所以我需要上传fileno,你需要发送数据;这不需要通过
上传文件来完成;一个base-64字符串(或者
字节[]
如果可以的话)会简单得多,你指的是哪个“you”?-1不是我做的,也不重要。你希望我为离开我的电脑一会儿而道歉吗?发送数据:与您通常在http上发送数据的方式相同;http正文、http表单、查询字符串或标头。随便挑一个。更一般地说:问题是“我(有些人已经选择了,也许是被误导了)如何实现?”——我是说你需要后退一步:“我(我想要实现的事情)如何实现?”。比较:“打入螺钉的最佳锤子是什么?”
using(var stream = new MemoryStream(theByteArray)) {...}