我正在尝试创建允许上传图像并将其存储到数据库中的功能。我在HTML表单中有以下输入字段:
@using (Html.BeginForm("AddTR", "TestCell", FormMethod.Post))
{
<div class="modal" id="NewTRModal" role="dialog" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog modal-xl" style="width:1250px;">
<div class="modal-content">
<div class="box5">
<div>
<label for="file-upload" class="custom-file-upload">
Upload Image1
</label>
<input id="file-upload" type="file" name="image1"/>
</div>
<div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary button button4"> Submit</button>
<button type="button" id="btnHideModal" class="btn btn-primary button button4">Hide</button>
</div>
</div>
</div>
</div>
}
我正在试着把控制器里的文件
IFormFile file = Request.Form.Files["image1"];
然而,由于某些原因,在我点击提交按钮后,Request.Form.Files
为空。
我将感激任何建议。
1条答案
按热度按时间7cjasjjr1#
仅当HTML表单元素将
enctype
值定义为multipart/form-data
时,Web浏览器才能正确上载文件:如果没有
enctype
属性,浏览器将只传输文件名,而不传输其内容。然后,在控制器动作方法中,您可以使用与
<input>
标记中定义的名称相同的名称作为参数:如果您使用的是ASP.NET核心(您在问题中没有提到),则可以定义
enctype
属性,然后用途: