C# 上传文件wcf
我将创建一个WCF,用于将图像或pdf文件等文件上载到te服务器。 如何创建能够处理此功能的服务? 我试图在谷歌上搜索它,但文章的大部分内容都告诉我使用流作为服务参数。但是我想要的是对文件内容使用byte[](数组)。因为,该服务不仅使用.nte framework进行访问,还使用其他技术,如php、java、objective-c等C# 上传文件wcf,c#,.net,wcf,upload,C#,.net,Wcf,Upload,我将创建一个WCF,用于将图像或pdf文件等文件上载到te服务器。 如何创建能够处理此功能的服务? 我试图在谷歌上搜索它,但文章的大部分内容都告诉我使用流作为服务参数。但是我想要的是对文件内容使用byte[](数组)。因为,该服务不仅使用.nte framework进行访问,还使用其他技术,如php、java、objective-c等 有什么帮助吗?创建一个WCF服务方法,该方法接受字节[]作为参数: [OperationContract] public void ReceiveByteArra
有什么帮助吗?创建一个WCF服务方法,该方法接受
字节[]
作为参数:
[OperationContract]
public void ReceiveByteArray(byte[] byteArray) { ... }
看来流媒体是你唯一的选择。看到这个了吗 见这个问题: 您可以查看这篇文章:
它讨论的只是为接收任意数据而设置WCF服务,您可以从任何客户端(php、java等)发布消息。创建一个接受文件流的WCF服务方法
string fileextension = null, FileName = null;
try
{
if (FileUpload1.HasFile)
{
ITransferFile clientUpload = new TransferFileClient();
RemoteFileInfo uploadRequestInfo = new RemoteFileInfo();
fileextension = Path.GetExtension(FileUpload1.PostedFile.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath(Path.Combine("~/TempFolder/", FileName + fileextension)));
System.IO.FileInfo fileInfo = new System.IO.FileInfo(Server.MapPath("~/TempFolder/") + FileName + fileextension);
using (System.IO.FileStream stream = new System.IO.FileStream(fileInfo.FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
uploadRequestInfo.FileName = FileUpload1.PostedFile.FileName;
uploadRequestInfo.Length = fileInfo.Length;
uploadRequestInfo.FileByteStream = stream;
clientUpload.UploadFile(uploadRequestInfo);
}
}
}
catch (Exception ex)
{
System.Web.HttpContext.Current.Response.Write("Error : " + ex.Message);
}
finally
{
if (File.Exists(Server.MapPath("~/TempFolder/") + FileName + fileextension))
{
File.Delete(Server.MapPath("~/TempFolder/") + FileName + fileextension);
}
}
这不适用于大文件。使用更好。按请求使用字节数组可能是个坏主意。也许除了使用http put处理程序之外,WCF服务可能是一个很好的主意Ayozora想在各种平台上使用它,该解决方案并不理想,但在90%的情况下会有所帮助,对于其他情况,可能需要智能上传器…字节数组不是文件。应编辑此问题的主题,以反映发布字节数组的愿望。这是误导。