本文介紹了文件上傳控制不起作用的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
限時送ChatGPT賬號..
文件名和擴展名是空的.請幫忙.
ASPX 文件代碼:
<tr><td colspan="3" style="height:0px"><div id="trFile" runat="server" class="inlineGridAddAddress"><table cellpadding="0" cellspacing="0"><tr><td><div class="formFieldName"><asp:RequiredFieldValidator ID="reqFile" runat="server"ControlToValidate="fileUpload" ErrorMessage="請選擇文件"ValidationGroup="Save" CssClass="Validations" ></asp:RequiredFieldValidator></div></td></tr><tr><td><asp:Label ID="lblFile" runat="server">文件:</asp:Label></td><td><asp:FileUpload ID="fileUpload" runat="server"/></div></td><td class="tdformFieldValueLogin" style="width:350px;padding-left:50px"><asp:ImageButton ID="btnFileUploadSave" runat="server" ValidationGroup="Save"ImageUrl="~/App_Themes/Default/images/update.png" ToolTip="保存"高度="18px" onclick="btnFileUploadSave_Click"/><asp:ImageButton ID="btnFileUploadCancel" ImageUrl="~/App_Themes/Default/images/cancel.png"runat="server" ToolTip="Cancel" Height="18px"/></td></tr><tr><td><div class="formSmallTextAreaName"><asp:Label ID="lblDescription" runat="server">描述:</asp:Label></div></td><td><div class="formSmallTextAreaValue"><asp:RegularExpressionValidator ID="revNote"runat="服務器" ControlToValidate="txtDescription"ValidationExpression="^[sS]{0,4096}$"Text="最多允許 4096 個字符."CssClass="驗證"顯示="動態"></asp:RegularExpressionValidator><asp:TextBox ID="txtDescription"runat="server" CssClass="textEntry1"TextMode="MultiLine" MaxLength="4096" 寬度="218px"></asp:文本框></div></td></tr></表></div></td></tr>CS 文件代碼:
protected void btnFileUploadSave_Click(object sender, ImageClickEventArgs e){字符串路徑 = Server.MapPath(".") + "\Files\" + this.fileUpload.FileName;字符串文件擴展 = System.IO.Path.GetExtension(this.fileUpload.FileName).ToLower();if (fileExtension == ".txt" || fileExtension == ".doc" || fileExtension == ".docx" || fileExtension == ".zip" || fileExtension == ".rar" || fileExtension ==".cs" || fileExtension == ".ppt" || fileExtension == ".pdf" || fileExtension == ".html" || fileExtension == ".jpg" || fileExtension == ".gif" || fileExtension == ".bmp" || fileExtension == ".png" || fileExtension == ".tif" || fileExtension == ".rm" || fileExtension == ".mp3" || fileExtension == ".xls"){this.fileUpload.PostedFile.SaveAs(path);}}
解決方案 如果您將 UploadControl 放在 UpdatePanel 中(Ajax 的東西),默認情況下它不會工作.使用更新面板、文件上傳控件并使用 PostBackTrigger
控件強制 postback
僅用于文件上傳控件
查看以下鏈接
文件在 UpdatePanel 中上傳,ASP.NET AJAX
File name and extension are empty. Please help.
ASPX FILE CODE:
<tr>
<td colspan="3" style="height:0px">
<div id="trFile" runat="server" class="inlineGridAddAddress">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<div class="formFieldName">
<asp:RequiredFieldValidator ID="reqFile" runat="server"
ControlToValidate="fileUpload" ErrorMessage="Please select File"
ValidationGroup="Save" CssClass="Validations" ></asp:RequiredFieldValidator>
</div>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblFile" runat="server">File:</asp:Label>
</td>
<td>
<div>
<asp:FileUpload ID="fileUpload" runat="server" />
</div>
</td>
<td class="tdformFieldValueLogin" style="width:350px;padding-left:50px">
<asp:ImageButton ID="btnFileUploadSave" runat="server" ValidationGroup="Save"
ImageUrl="~/App_Themes/Default/images/update.png" ToolTip="Save"
Height="18px" onclick="btnFileUploadSave_Click"/>
<asp:ImageButton ID="btnFileUploadCancel" ImageUrl="~/App_Themes/Default/images/cancel.png"
runat="server" ToolTip="Cancel" Height="18px" />
</td>
</tr>
<tr>
<td>
<div class="formSmallTextAreaName">
<asp:Label ID="lblDescription" runat="server">Description:</asp:Label>
</div>
</td>
<td>
<div class="formSmallTextAreaValue">
<asp:RegularExpressionValidator ID="revNote"
runat="server" ControlToValidate="txtDescription"
ValidationExpression="^[sS]{0,4096}$"
Text="Maximum 4096 characters are allowed."
CssClass="Validations" Display="Dynamic">
</asp:RegularExpressionValidator>
<asp:TextBox ID="txtDescription"
runat="server" CssClass="textEntry1"
TextMode="MultiLine" MaxLength="4096" Width="218px">
</asp:TextBox>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
CS FILE CODE:
protected void btnFileUploadSave_Click(object sender, ImageClickEventArgs e)
{
string path = Server.MapPath(".") + "\Files\" + this.fileUpload.FileName;
string fileExtension = System.IO.Path.GetExtension(this.fileUpload.FileName).ToLower();
if (fileExtension == ".txt" || fileExtension == ".doc" || fileExtension == ".docx" || fileExtension == ".zip" || fileExtension == ".rar" || fileExtension == ".cs" || fileExtension == ".ppt" || fileExtension == ".pdf" || fileExtension == ".html" || fileExtension == ".jpg" || fileExtension == ".gif" || fileExtension == ".bmp" || fileExtension == ".png" || fileExtension == ".tif" || fileExtension == ".rm" || fileExtension == ".mp3" || fileExtension == ".xls")
{
this.fileUpload.PostedFile.SaveAs(path);
}
}
解決方案 If you're putting your UploadControl in an UpdatePanel (Ajax stuff), it won't work by default. Use Update Panel, File Upload Control and use a PostBackTrigger
Control to force a postback
only for the File Upload Control
Check out the following link
File Upload in UpdatePanel, ASP.NET AJAX
這篇關于文件上傳控制不起作用的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!