Web services 将Excel文件传递给WEB API WEB服务的最佳方式是什么

Web services 将Excel文件传递给WEB API WEB服务的最佳方式是什么,web-services,rest,asp.net-web-api,Web Services,Rest,Asp.net Web Api,我需要将Excel文件传递到中,并使用C#实现web服务。到目前为止,我创建的web服务如下所示 public void loadData([FromBody]string dataFile) { } 我还认为可以传递Excel文件,因为它使用的是Base64字符串; 这是一种好方法还是有更好的方法来实现这一点?基本上,您可以将文件作为多部分/表单数据HTTP请求的一部分进行传递 编辑: 要接收任何类型的二进制文件,请使用以下代码。然而,这是相当不安全的

我需要将Excel文件传递到中,并使用C#实现web服务。到目前为止,我创建的web服务如下所示

 public void loadData([FromBody]string dataFile)
        {

        }
我还认为可以传递Excel文件,因为它使用的是Base64字符串;
这是一种好方法还是有更好的方法来实现这一点?

基本上,您可以将文件作为多部分/表单数据HTTP请求的一部分进行传递

编辑: 要接收任何类型的二进制文件,请使用以下代码。然而,这是相当不安全的。实际上,应该检查请求头的内容类型和内容长度

public void loadData() {
    /* get raw data */
    string dataFile = Request.Content.ReadAsStringAsync().Result
}

您可以通过符合RFC 1149的链接发送。你怎么寄都不重要。重要的是web服务期望/需要什么。那么接受文件作为字符串是否可以?web服务是否仍然相同?我指的是公共void loadData([FromBody]string dataFile),在我看来,将文件作为字符串传递不是一个好主意。您不知道文件的类型,或者实际的二进制长度是多少。此外,mutlipart/form数据内容类型是HTML表单提交文件的唯一方式。您可以只发送二进制文件,而不是mutlipart/form数据或base64字符串。那么,如果使用mutlipart/form数据内容键入答案,那么方法public void loadData(?)的签名必须是什么呢。现在它包含了两种方式的链接。我有以下检查(!Request.Content.IsMimeMultipartContent()){抛出新的HttpResponseException(HttpStatusCode.UnsupportedMediaType);}但是字符串数据文件(Request.Content.ReadAsTringAsync().Result)是空的