通过WCF服务将多个文件上传到服务器

时间:2014-07-06 05:28:03

标签: c# winforms wcf

根据要求,我想从Windows应用程序上传多个文件到Server。我打算使用WCF服务上传文件。还有其他更好的方法吗? 如果可能,请提供代码示例。

2 个答案:

答案 0 :(得分:1)

它实际上非常简单,不需要购买第三方产品或订阅,更不用说云服务了。

考虑来自MSDN的这篇文章:

  

有时,开发人员必须完全控制从服务操作返回数据的方式。当服务操作必须以WCF不支持的格式返回数据时,就是这种情况。本主题讨论如何使用WCF REST编程模型创建接收任意数据的服务。 How to: Create a Service That Accepts Arbitrary Data using the WCF REST Programming Model

WCF实际上允许您为服务方法指定类型。

以下是如何定义服务接口(从上面的链接中提取):

 [ServiceContract]
 public interface IReceiveData
 {
    [WebInvoke(UriTemplate = "UploadFile/{fileName}")]
    void UploadFile(string fileName, Stream fileContents);
 }

实施如下:(再次来自上文)

public class RawDataService : IReceiveData
{
public void UploadFile(string fileName, Stream fileContents)
{
    byte[] buffer = new byte[10000];
    int bytesRead, totalBytesRead = 0;
    do
    {
        bytesRead = fileContents.Read(buffer, 0, buffer.Length);
        totalBytesRead += bytesRead;
    } while (bytesRead > 0);
    Console.WriteLine("Service: Received file {0} with {1} bytes", fileName, totalBytesRead);
}

}

Read more...

答案 1 :(得分:-4)

也许尝试FineUploader,为了加快这个过程,每年50美元的许可费用是值得的痛苦和麻烦,给你很好的前端和FineUploader经理为你多次上传,你只需设置一个文件上传服务。我与Fine Uploader没有任何关系,就像产品一样,并且用它很快就能提供多个文件上传。您可能还会考虑Telerik的Kendo UI文件上传器,Telerik最近免费提供Telerik Kendo UI Core。