万一重要,以下内容将在工具箱弹出窗口中,其中包含一个更新面板。

<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

至于为什么它在本地工作,如果是上述问题,那是因为浏览器处理“互联网”域中“本地”的方式。

10-05 23:10