使用 curl 使用 HTTP PUT 方法测试 zip 文件上传

Test zip file upload using HTTP PUT method using the curl

我正在尝试使用 put 方法将 zip 文件上传到文件夹。下面是我接受 zip 文件的 put 方法:

 [HttpPut("ImportFile")]
    [Consumes("multipart/form-data")]
    public async Task<IActionResult> AddFileToFolder(IFormFile file)
    {
        
        string fileExtension;

        if (file == null)
        {
            return BadRequest();
        }

         //The helper method that upload file to folder "C:\test" folder
         await Helper.UploadFile(file);
       


        return Ok();
    }
}

当我使用邮递员测试它时,它工作正常。但是当我像下面这样使用 curl 测试它时:

C:\test> curl --insecure PUT -T "C:\test\Test_1.zip" "https://localhost:7098/TestController/ImportFile"

我收到错误“无法解析主机:PUT”

当我尝试将以下命令与 curl 一起使用时,我也遇到错误:

curl --insecure https://localhost:7098/TestController/ImportFile --upload-file "C:/test/Test_1.zip" 在这种情况下,我得到这些错误:

{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"出现一个或多个验证错误。","status ":400,"traceId":"00-d2c03ced5ba843a959c42a6fdb049122-c32240f288eac9b8-00","errors":{"file":["文件字段为必填项。"]}}

你可以点击图中的圆圈,你可以看到邮递员的卷曲

api 控制器中的代码:

[HttpPut("ImportFile")]
        [Consumes("multipart/form-data")]
        public IActionResult upload(IFormFile file)
        {
            var a = HttpContext.Request;
            return Ok();
        }

卷曲:

curl --location --request PUT 'https://localhost:44323/WeatherForecast/ImportFile' \
--form 'file=@"/C:/Users/ruikaif/Desktop/x.xml.txt"'

通过使用 -F curl 选项解决我的问题:

curl --insecure -i -X PUT -H "Content-Type: multipart/form-data" -F file=@/C:/test/Test_1.zip" localhost:7098/TestController/ImportFile"