5

フォームを使用せずにファイルをアップロードするファイル アップロードがあり、代わりに ajax を使用してアップロードしたいと考えています。次のアプローチを試しましたが、ファイルを渡すことができません。ヌルです。助けてください。以下は私の実装です。

HTML および jQuery 関数

<div id="Upload">
    <input type="file" accept="application/x-shockwave-flash" id="virtualtourfile" enctype="multipart/form-data"/>
    <input type="button" value="Upload" id="btnUpload"/>
</div>

$('#btnUpload').click(function () {
            $.ajax({
                url: "uploadvideo",
                type:'POST',
                data: $("#virtualtourfile:file"),
                success: function (data) {

                }
            });
        });

コントローラ

public ActionResult UploadVideo(HttpPostedFileBase file)
        {
            return Json("", JsonRequestBehavior.AllowGet);
        }
4

2 に答える 2

2

いくつかのオプションがあります。クライアント ブラウザが をサポートしているHTML5 File API場合は、それを使用してファイルをサーバーに非同期でアップロードできます。この API をサポートしていないレガシー ブラウザをサポートする必要がある場合はUploadifyFine uploaderjquery form、 などのファイル アップロード コンポーネントを使用できます。これらのプラグインの利点は、ブラウザの機能と、ファイル API をサポートしているかどうかをテストできることです。それ以外の場合は、非表示の iframe や Flash ムービーなどの古い手法にフォールバックします。

于 2013-04-22T06:54:59.373 に答える