我有一个使用VB.NET的ASP.NET MVC项目,我试图在其中将文件上传到服务器。但是,当我尝试获取上载文件的名称时,出现如上所述的错误。
在调试时,我检查了文件的值,但没有显示任何值。
我的模型课是:
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Data.OracleClient
Imports System.ComponentModel.DataAnnotations
Imports Microsoft.AspNetCore.Http
Namespace Controls_MVC.Models
Public Class LeaveApplication
Public Property File As IFormFile
End Class
End Namespace
这是我的视图标记:
@ModelType SdesWeb.Controls_MVC.Models.LeaveApplication
@Code
ViewBag.Title = ViewBag.Title
End Code
@Section js
<script src="@Session("baseurl")/Scripts/jquery.min.js"></script>
<script src="@Session("baseurl")/Scripts/bootstrap.min.js"></script>
End Section
<script src="@Session("baseurl")/Scripts/jquery-ui.js"></script>
<link href="@Session("baseurl")/Styles/jquery-ui.css" rel="stylesheet" />
<link href="@Session("baseurl")/Styles/jquery.dataTables.min.css" rel="stylesheet" />
<script src="@Session("baseurl")/Scripts/jquery.dataTables.min.js"></script>
<link href="@Session("baseurl")/Styles/prism.css" rel="stylesheet" />
<link href="@Session("baseurl")/Styles/chosen.css" rel="stylesheet" />
<form id="leaveapp" action="@Session("baseurl")/LeaveApplication/Save" method="post" enctype="multipart/form-data">
<div class="row pt-2 pb-0">
<div class="col-md-12">
<button id="btnsave" Class="btn btn-info" type="submit"><i Class="fa fa-save"></i> Save</button>
</div>
<div class="row>
<div class="col-md-1">
<button type="button" id="btnattach" Class="btn btn-info btn-sm"
onclick="document.getElementById('file').click();"><i Class="fa fa- paperclip"></i>
Attach File
</button>
@Html.TextBoxFor(Function(Model) Model.File, New With {Key .[id] = "file", .[accept] = "application/pdf", .[type] = "file", .[style] = "display:none"})
</div>
</div>
</form>
最后,这是我的控制器代码:
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.Mvc
Imports System.Data.OracleClient
Imports SdesWeb.Controls_MVC.Models
Imports Newtonsoft.Json
Imports Microsoft.AspNetCore.Http
Imports System.IO
Namespace Controllers
Public Class LeaveApplicationController
Inherits Controller
' GET: LeaveApplication
Function Index() As ActionResult
Try
ViewBag.Title = "Leave Application"
Return View()
Catch ex As Exception
Session("SystemError") = ex.Message
Return RedirectToAction("Index", "ErrorHandler")
End Try
End Function
Public Function Save(LeaveApplication As LeaveApplication) As ActionResult
Try
dim filename as string= LeaveApplication.File.FileName
MsgBox(filename)
Return View()
Catch ex As Exception
Session("SystemError") = ex.Message
Return RedirectToAction("Index", "ErrorHandler")
End Try
End Function
End Class
End Namespace
该问题已解决。我使用了HttpPostedFileBase类,而不是使用iFormfile,现在我可以获取文件的名称并上传到所需的文件夹。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句