我正在开发一个管理摄影比赛的应用程序。在该应用程序中,我对用户选择的照片使用AsyncFileUpload控件。服务器端UploadedComplete进行基本验证,并根据需要缩放/剪裁图像。
问题是,当我点击页面上的提交按钮时,AsyncFileUpload的内容会与其他用户提交的数据一起发送,因此用户需要等待两倍的时间才能从服务器获得响应(我期待的照片大小在3到7 Mb之间,上传需要一两分钟。
我的表单看起来像这样:
<%-- ... snip - all other fields ... -->
<div style="margin-top: 20px; margin-bottom: 5px;">
<span class="texteB"><b>Upload a photo</b></span><br />
Browse your computer to find a photo.</div>
<div>
<asp:AsyncFileUpload onclientuploaderror="UploadError" persistfile="true" onuploadedcomplete="fuPhoto_UploadedComplete"
completebackcolor="#52ad0b" onclientuploadstarted="UploadStarted" id="fuPhoto"
throbberid="throbber" runat="server" />
</div>
<div runat="server" id="throbber" style="display: none; margin: 8px 0 15px 0">
<div style="float: left; width: 48px;">
<img src="images/throbber.gif" /></div>
<span class="texteV_14pt"><b>Please wait while
<br />
your photo is uploaded...</b></span>
</div>
<div style="margin-top: 20px; margin-bottom: 20px;">
Please double-check your informations and press Send when ready.</div>
<div>
<asp:ImageButton onclick="btnSubmit_Click" ImageUrl="images/bt_envoyer_demande.gif"
runat="server" id="btnSubmit" />
</div>
文档中是否遗漏了一些内容?我整天都在努力工作而没有取得多大成功。
提前致谢!
答案 0 :(得分:1)
AsyncFileUpload
并不像这样。只有在OnUploadedComplete
事件中使用filedata时才能正常工作。
我只是咬紧牙关,使用像SWFUpload这样的东西,或者只使用原生的FileUpload
控件。
答案 1 :(得分:0)
private bool _justDeleted = false;
void AsyncFileUpload1_UploadedComplete(object sender, AsyncFileUploadEventArgs e)
{
if (_justDeleted) return;
protected void btnDeleteLogo_Click(object sender, EventArgs e)
{
_justDeleted = true;