c# - 如何在一个 POST 请求中使用 IFormFileCollection 发送 int
问题描述
我正在尝试上传图片(我正在使用IFormFileCollection
),但还需要在同一个 POST 请求中获取额外的数据(简单的 int 值)。
我的控制器看起来像这样:
public async Task<ActionResult<List<Guid>>> Create(IFormFileCollection uploads, int id) { }
我用来测试它的cshtml看起来像这样:
<form asp-action="Create" asp-controller="ProjectMedia" method="post" enctype="multipart/form-data">
<input type="file" name="uploads" /><br>
<input type="file" name="uploads" /><br>
<input type="number" name="id" /><br>
<input type="submit" value="Upload" />
</form>
我在接收要上传的文件方面没有任何问题,但除了它们我什么都没有。id 始终默认为 0。我也尝试设置 with asp-route
,但在控制器上得到了相同的 0。是否有机会IFormFileCollection
在一个请求中发送和 int?如果是这样,我该怎么做?
解决方案
使用[FromForm]
属性显式地告诉模型绑定器从哪里获取操作的数据
public async Task<ActionResult<List<Guid>>> Create([FromForm]IFormFileCollection uploads, [FromForm]int id) {
}
ASP.NET Core 中的参考模型绑定
推荐阅读
- java - 从文本文件java读取输入
- javascript - 另一个 DIV 中的 DIV 未加载图像
- c++ - dfs迷宫生成,优化?
- sql-server - SQL Server 优化
- gojs - gojs 自定义绑定作为 textBlock 的一部分传递给函数
- laravel - Laravel/Vue - JWT 令牌记住我
- mysql - 在 3 个不同表之间进行 2 次 JOIN 后查找 MAX
- php - 尽可能使用 slug 而不是 ID
- django - 如何在 django-notifications-hq 中隐藏 0 通知计数
- python - 将回归树输出转换为 pandas 表