ブラウズ ボタンからファイルを選択すると、アップロード ボタンをクリックする前に非常に遅くなります。
つまり、[参照] をクリックしてファイルを選択し、アップロードできるファイルがあることを最終的に確認する前に、ファイルをアップロードできるようになるまで 2 分ほど待つことができます。
これはローカルでは問題なく動作していますが、私のサーバーでは非常に遅いです。
IIS を使用しているので、設定を追加する必要がありますか?
これらは私が使用しているコードです:
<asp:Panel ID="PanelAddFiles" runat="server">
<div class="PanelAddFiles">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="Server" />
<asp:UpdatePanel ID="UpdatePanelAddFiles" runat="server" ChildrenAsTriggers="true">
<Triggers>
<asp:PostBackTrigger ControlID="LkUpload" />
</Triggers>
<ContentTemplate>
<asp:AsyncFileUpload runat="server" ID="FileUploadAsync" CssClass="FileUploadAsync"
Visible="false" />
<asp:LinkButton ID="LkUpload" runat="server" OnClick="LkUpload_Click" Visible="false">Upload</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Panel>
そして、これは背後にあるコードです:
protected void LkUpload_Click(object sender, EventArgs e)
{
try
{
if (FileUploadAsync.FileName != string.Empty)
// Call a helper method routine to save the file.
{
SaveFile(FileUploadAsync.PostedFile);
GenerateFilesInDateOrder(DirectoryPath);
}
}
catch { }
}
void SaveFile(HttpPostedFile file)
{
string savePath = "C:\\inetpub\\wwwroot\\Files" + DirectoryPath;
string fileName = FileUploadAsync.FileName;
string pathToCheck = savePath + fileName;
string tempfileName = "";
if (System.IO.File.Exists(pathToCheck))
{
int counter = 2;
while (System.IO.File.Exists(pathToCheck))
{
tempfileName = counter.ToString() + fileName;
pathToCheck = savePath + tempfileName;
counter++;
}
fileName = tempfileName;
}
else
{
}
savePath += fileName;
FileUploadAsync.SaveAs(savePath);
//Redirect to the same page after upload a file
string param = Request.UrlReferrer.Query;
Response.Redirect("Files.aspx" + param);
}