根据要求,我想从Windows应用程序上传多个文件到Server。我打算使用WCF服务上传文件。还有其他更好的方法吗? 如果可能,请提供代码示例。
答案 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);
}
}
答案 1 :(得分:-4)
也许尝试FineUploader,为了加快这个过程,每年50美元的许可费用是值得的痛苦和麻烦,给你很好的前端和FineUploader经理为你多次上传,你只需设置一个文件上传服务。我与Fine Uploader没有任何关系,就像产品一样,并且用它很快就能提供多个文件上传。您可能还会考虑Telerik的Kendo UI文件上传器,Telerik最近免费提供Telerik Kendo UI Core。