万一重要,以下内容将在工具箱弹出窗口中,其中包含一个更新面板。
<p>
<asp:Label Text="Picture" runat="server" Width="75"></asp:Label>
<ajaxToolkit:AsyncFileUpload ID="MediaPicture" runat="server" Width="200"
OnClientUploadStarted="BlockSubmits" ClientIDMode="AutoID"
OnClientUploadError="UnblockSubmits" PersistFile="true"
OnClientUploadComplete="UnblockSubmits"
/>
</p>
javascript函数只是阻止/释放一个提交按钮,以防止在上传过程中出现问题。
这在localhost上可以正常工作,但是当在线部署在GoDaddy服务器上时,即使在本地我可以上传更大的文件(〜2MB),我似乎也无法上传几个KB以上的文件...
我似乎找不到这种现象的原因,它可能在IIS上吗?在上传完成之前,我读过一些有关清除应用程序池的信息,这可能发生吗?
顺便说一句,以防万一,在服务器端,我只是从此控件中取出图片
byte[] picture = MediaPicture.FileBytes ?? (string.IsNullOrEmpty(mediaID) ? null : Media.SelectByID(int.Parse(mediaID)).GetPicture());
关于我是否处于编辑模式,还有一些额外的逻辑,如果当前记录中有图片,我将接管所有图片,
然后将其存储在数据库中。
有什么想法为什么会发生这种情况?
谢谢!
最佳答案
如果我正确理解您的情况,则问题是由位于更新面板中的AsyncFileUpload引起的,从而使文件上传发生在回发期间...
这blog post has a decent explanation of why。
至于为什么它在本地工作,如果是上述问题,那是因为浏览器处理“互联网”域中“本地”的方式。