2011-01-01 14 views
3

重要な場合は、次のものがツールキットのポップアップの中にあり、その中には更新パネルがあります。AjaxControlToolkitのAsyncFileUploadがオンラインでデプロイされたときに正しく動作しない

<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の機能は、アップロード中の問題を防ぐために、送信ボタンをブロック/リリースするだけです。

これは、ローカルホスト上で正常に動作しますが、GoDaddyのサーバー上でオンラインに展開したとき、私は大きなファイル(〜2メガバイト)をアップロードすることができたときに、ローカルでも、数KB経由でファイルをアップロードすることができないよう...

私はこの動作の理由を見つけることができない、それはIIS上にある可能性がありますか?アップロードが完了する前に、私はアプリのプールのクリアについて何かを読んで、これが起こっている可能性がありますか?

ところで、念、サーバー側で私はちょうど私が現在編集モードでかどうか、および場合てるかどうかについて、そこにいくつかの余分なロジックがあります

byte[] picture = MediaPicture.FileBytes ?? (string.IsNullOrEmpty(mediaID) ? null : Media.SelectByID(int.Parse(mediaID)).GetPicture()); 

このコントロールの外に写真を撮りますレコードが写真を持っていると、私は写真なしでそれを取るでしょう。

そしてそれをデータベースに保存します。

なぜこのようなことが起こっているのでしょうか?

ありがとうございました!

+0

onclientuploaderrorイベントでエラーが発生しましたか? – dhinesh

答えて

1

私はあなたの状況が正しく、問題は、それによって、ファイルのアップロードがポストバック中に発生持つ、UpdatePanelの内側に配置されているAsyncFileUploadによって引き起こされている理解していれば...

このblog post has a decent explanation of why

なぜローカルで動作するのかについては、前述のように問題がある場合、ブラウザが「インターネット」ドメインから「ローカル」を処理する方法が原因です。

+0

AsyncUploadは、アップロードする。それは、サーバーへの呼び出しをassyncするアップデートパネル内で作業すると仮定します。 – jaderanderson

0

ajaxツールキットのAssyncアップロードには依然として最大要求サイズがASP.NETの投稿が必要です。

この最大サイズは、アプリケーションのweb.configおよびIIS内で設定されています。サードパーティのプロバイダを使用しているので...これは私の肌aを保存... SWFUploadの制御をチェックし、あなたを助けにはなりません場合はセクション

<httpRuntime maxRequestLength="40960"/> 

でweb.configファイルをいじるしてみてください数回。

よろしく、

+0

web.configに既にこのタグを追加しました – bevacqua

+0

プロバイダでIISの最大リクエストサイズを確認できますか? – jaderanderson

+0

Godaddyには、これに関する情報ページがあります:http://community.godaddy.com/library/uploading-large-files-to-iis-and-asp-net/ IIS7の設定が異なります。デフォルトはまだ4メガです。私は単純なアップロードフォーム(AjaxControlToolkitを使用せず、FileUploadコントロールを使用する)を使用して、問題がアップロードサイズか、コントロールまたはUpdatePanelに関連する何かをより狡猾にすることを試みます。 –

0

あなたの開発環境と本番サーバー(この場合は、Go Daddy)で異なるIISバージョンを使用していると思います。より良いソリューションを提供できるように、正確なIISバージョンを確認してください。原因IIS 7.0はIIS 6.0とは少し異なる構成です。

0

まったく同じ問題が発生しましたが、IEの「ローカルイントラネット」ゾーンにWebサイトを含めてセキュリティ設定が回避策でした。

しかし、私はAjax Control Toolkitを更新し、問題は完全に解決されました。セキュリティ設定を混乱させる必要はもうありません。

関連する問題