0

IE 8/9 のファイル アップロードについてたくさん読んだことがあります。しかし、私は自分の場合の解決策をうまく作成できませんでした。私は Web のプログラミングにかなり慣れていないので、プロトコルなどに関する知識が不足していることが原因である可能性があります。

サーバー側には ASP.NET WebApi があります。これは、ファイルのアップロードを処理するための API で、Fiddler を使用してそのサーバーを直接呼び出すときに問題なく動作します。

クライアントでは、HTML (HTML 5 ではなく) と KnockoutJS を使用しています。

適切なアーキテクチャのため、2 つのサーバーがあります。アクティビティ (それを A と呼びましょう)、およびファイル アップロード API をホストし、大量のデータを管理する別のアクティビティ (サーバー B) です。

クライアント (A から) に、ファイルを 2 番目のサーバー (サーバー B) にアップロードするページがあります。

jquery.form.js に出くわし、IE のアップロードもサポートしていることを読みました。そこで、あるサイトのチュートリアルのコードを実装してみました。残念ながら機能せず、ブラウザに次のエラーが表示されます。

OPTIONS http://B/Files/Post/3/g/ 404 (Not found) jquery.js:8724
send jquery.js:8724               jQuery.extend.ajax jquery.js:8154
fileUploadXhr                                    jquery.form.js:321
$.fn.ajaxSubmit                                  jquery.form.js:239
(anonymous function)                              knockout.bindings.js:17
jQuery.event.dispatch                            jquery.js:5116
elemData.handle                                  jquery.js:4787
OPTIONS http://B/Files/Post/3/g/ Origin http://A is not allowed by Access-Control-Allow-Origin.                         jquery.js:8724
send jquery.js:8724                              jQuery.extend.ajax jquery.js:8154
fileUploadXhr                                    jquery.form.js:321
$.fn.ajaxSubmit                                  jquery.form.js:239
(anonymous function)                           knockout.bindings.js:17
jQuery.event.dispatch                            jquery.js:5116
elemData.handle                                  jquery.js:4787
XMLHttpRequest cannot load http://B/Files/Post/3/g/. Origin http://A is not allowed by Access-Control-Allow-Origin. test.html:1

サーバーには、WebApi の CORS について説明しているこの記事のすべてを実装しました。

誰でも助けることができますか?IE 8/9 とその他の最新のブラウザーの両方で機能する HTML と javascript/jquery のコード スニペットを探しています。

4

0 に答える 0