尝试通过 WebApi 2 post 文件时出现错误 500

Error 500 when trying to post file via WebApi 2

我制作了一个简单的 WebApi 2 POST 方法来接收文件并将其存储在文件夹中 API 如下所示:

Imports System.Net
Imports System.Net.Http
Imports System.Web.Http

    Public Class XmlController
        Inherits ApiController

        <HttpPost()>
        Public Function PostXml() As HttpResponseMessage
            If Request.Headers.Contains("authToken") Then
                If Request.Headers.GetValues("authToken").First() <> "XXX" Then Return New HttpResponseMessage(HttpStatusCode.Unauthorized)
            End If

            Dim httpRequest = HttpContext.Current.Request

            If httpRequest.Files.Count > 0 Then

                For Each fileName As String In httpRequest.Files.Keys
                    Dim file = httpRequest.Files(fileName)
                    Dim filePath = HttpContext.Current.Server.MapPath("~/Tavoli/" & file.FileName)
                    file.SaveAs(filePath)
                Next

                Return Request.CreateResponse(HttpStatusCode.Created)
            End If

            Return Request.CreateResponse(HttpStatusCode.BadRequest)
        End Function
    End Class

如果我 运行 本地的 .NET Framework 应用程序并尝试 post 通过 POSTMAN 到 http://localhost:53790/api/xml 的文件一切正常,但是当我 post 我服务器上的网站,然后尝试通过将本地主机更改为我的域来使用相同的 POSTMAN 请求 returns 500 内部服务器错误,我尝试取消选中 "Read-Only"从文件夹中取出,但没有效果。该网站在 IIS 上 运行ning 和其他 POST 对其他 API 的调用工作正常(其他调用只是 JSON)

您需要确保运行 IIS 的用户(通常是 IIS_USRS)对您尝试写入文件的文件夹具有写入权限。