要在服务器上传任何内容......要使用什么?

Nit*_*itz 1 c# web-services

我正在制作一个应用程序,
如果我想在基于C#的应用程序上的服务器上传数据,该怎么用.
我在网络服务中知道这个名字[我不知道如何使用它?]

1. SOAP,
2.REST,
3.AWS

所以我的问题是,
我可以将数据文件上传到服务器的方式有多少?
我是否必须使用Web服务或以其他任何方式上传数据文件?
顺便说一下......我只是初学C#和网络服务......所以你可能会发现这个问题很简单.


提前谢谢,
nitz.


编辑:
我的应用程序.是基于Windows .....
和将从我的应用程序生成的文件.,我想存储在服务器.....

Meh*_*ari 5

您不需要使用任何花哨的"Web服务"技术将数据从客户端应用程序上载到服务器.您可以创建一个简单的ASP.NET Web处理程序并从请求正文中保存输入文件:

public class FileUploader : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
       string fileName = context.Request.QueryString["FileName"];
       byte[] fileData = context.Request.BinaryRead(context.Request.ContentLength);
       string path = ...; // decide where you want to save the file
       File.WriteAllBytes(path, fileData);
    }

    public bool IsReusable
    {
        get { return false; }
    }
}
Run Code Online (Sandbox Code Playgroud)

从客户端应用程序,您将使用WebClient.UploadFile方法:

using (var client = new WebClient()) {
    client.QueryString["FileName"] = fileName;
    client.UploadData(url, inputFileData); 
}
Run Code Online (Sandbox Code Playgroud)

这种方法消除了SOAP等协议的开销,并直接在HTTP请求体中发布文件.