如果重要,以下内容位于工具包弹出窗口中,其中包含更新面板。
<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服务器上在线部署时,我似乎无法上传几KB的文件,即使在本地我可以上传更大的文件(~2MB)......
我似乎无法找到这种行为的原因,它可能在IIS上吗?在上传完成之前,我读了一些关于应用程序池清除的内容,这可能会发生吗?
顺便说一句,以防万一,服务器端我只是从这个控件中取出图片
byte[] picture = MediaPicture.FileBytes ?? (string.IsNullOrEmpty(mediaID) ? null : Media.SelectByID(int.Parse(mediaID)).GetPicture());
关于我是否处于编辑模式还有一些额外的逻辑,如果当前记录有图片,我会把它拍到没有图片,
然后我将它存储在数据库中。
关于为什么会发生这种情况的任何想法?
谢谢!
答案 0 :(得分:1)
答案 1 :(得分:0)
ajax工具包的Assync上传仍然必须有一个最大请求大小为ASP.NET的帖子。
此最大大小在应用程序的web.config和IIS内部设置。由于您使用的是第三方提供商...请尝试使用
部分中的web.config<httpRuntime maxRequestLength="40960"/>
如果这对您没有帮助,请查看SWFUpload控件...几次保存我的皮肤。
此致
答案 2 :(得分:0)
我猜你在开发环境和生产服务器(在这种情况下是Go Daddy)中使用不同的IIS版本。你可以验证并告诉我确切的IIS版本,以便我能为你提供更好的解决方案吗?原因IIS 7.0的配置与IIS 6.0略有不同。
答案 3 :(得分:0)
我遇到了完全相同的问题,但是在IE的“本地Intranet”区域中包含网站安全设置是一种解决方法。
但是,我更新了Ajax Control Toolkit,问题彻底解决了。不再需要弄乱安全设置。