【发布时间】:2019-06-16 22:26:13
【问题描述】:
我正在通过 HTML 输入 type="file" 创建一个带有“上传”控件的表单
这是我的html代码:
<form id="form1" runat="server" enctype="multipart/form-data">
<div class="form-group">
<asp:label ID="Label1" runat="server" For="message-text" class="col-form-label">Transaction Slip:</asp:label><br />
<input type="file" name="FileUpload" class="btn btn-light" accept="image/*"/>
</div>
</form>
后面的.cs代码如下:
protected void btnSubmit_Clicked(object sender, EventArgs e)
{
HttpPostedFile postedFile = Request.Files["FileUpload"];
string filePath = Server.MapPath("~/TransacSlip/") + Path.GetFileName(postedFile.FileName);
postedFile.SaveAs(filePath);
}
但我收到以下错误:
“/”应用程序中的服务器错误。 对象引用未设置为对象的实例。
错误行:
第 78 行:字符串 filePath = Server.MapPath("~/TransacSlip/") + Path.GetFileName(postedFile.FileName);
有人知道如何解决这个问题吗? 非常感谢~
【问题讨论】:
-
@Izzy 您好,感谢您的回复。我已经通过使用 HTML 输入控件添加了一个图像,这意味着它不应该是 Null 值,所以如果说它真的检测到 Null 值,我可以知道如何让系统检测它的值,因为它已经有一个在我运行此代码以将图像存储在我的服务器路径中之前,html 输入中的图像
-
你可以使用postedFile.ContentLength > 0 来检查文件是否存在,我的朋友:))
-
@TeoLawrence,检查我的答案。我提供了两种不同的方法,都可以解决您的问题。
-
@TeoLawrence,如果满足您的要求,请为所有人的利益标记答案。