C# IFormFile拒绝从vue上载

C# IFormFile拒绝从vue上载,c#,asp.net-core,vuetify.js,vue-resource,C#,Asp.net Core,Vuetify.js,Vue Resource,我正在使用vuetify的v-file-input组件 <v-row> <v-file-input label="File input" v-model="file" /> <v-btn depressed color="primary" @click="uploadClicked"&

我正在使用vuetify的
v-file-input
组件

<v-row>
    <v-file-input label="File input"
                    v-model="file" />
    <v-btn depressed
            color="primary"
            @click="uploadClicked">
        Upload
    </v-btn>
</v-row>
我可以看到
此.file
中填充了所选文件,但由于某些原因,我无法使该文件显示在
文件管理器控制器的端点中:

[HttpPost("Folder/{folderId}/File")]
public async Task<IActionResult> UploadFile(Guid folderId, [FromBody]IFormFile file)
{
    // process the file
}
[HttpPost(“Folder/{folderId}/File”)]
公共异步任务上载文件(Guid folderId,[FromBody]格式文件)
{
//处理文件
}
我得到这个错误:

{“errors”:{“”:[“无法创建Microsoft.AspNetCore.Http.ifformfile类型的实例。类型是接口或抽象类,无法实例化。路径“”,第1行,位置2。“]},“类型”:”https://tools.ietf.org/html/rfc7231#section-6.5.1、“标题”:“发生一个或多个验证错误”,“状态”:400,“traceId”:“| 6d17d263-464344720128162b。”

我尝试的是:

  • [FromBody]
    替换为
    [FromForm]
    :端点被命中,但
    文件
    为空,
    请求.Form.Files
  • 删除
    [FromBody]
    会导致HTTP错误“不允许使用方法”

  • 这是怎么回事?

    多亏了CodeCaster,我发现这是正确的配置

    let formData = new FormData();
    formData.append('file', this.file);
    this.$http.post(`${this.api}FileManager/Folder/${folderId}/File`, formData);
    
    控制器

    [HttpPost("Folder/{folderId}/File")]
    public async Task<IActionResult> UploadFile(Guid folderId, IFormFile file)
    {
        // process the file
    }
    
    [HttpPost(“Folder/{folderId}/File”)]
    公共异步任务上载文件(Guid folderId,IFormFile)
    {
    //处理文件
    }
    

    请注意,
    [FromBody]
    不是必需的,如果未删除,实际上会导致415错误

    您将JSON发送到接受表单的端点。@CodeCaster谢谢,您怎么知道?我怎么告诉它不要这样做?,
    [HttpPost("Folder/{folderId}/File")]
    public async Task<IActionResult> UploadFile(Guid folderId, IFormFile file)
    {
        // process the file
    }