1

私はjQueryUploadライブラリuploadifyを使用していますuploadifiveと呼ばれる非フラッシュバージョンインストールしましたが、参照/ファイルの選択ボタンをクリックすると奇妙な問題が発生し、他に何も起こらず、もしそうなら修正方法に感謝します。HTMLは基本的に、アップロード入力とdivタグだけで単純です。



$(function() {
  $('#file_upload').uploadifive({
    'debug'             : true,
    'auto'              : true,
    'formData'          : {'test' : 'something'},
    'queueID'           : 'queue',
    'buttonText'        : 'ATTACH FILE',
    'uploadScript'      : '".base_application_url()."upload_license/',
    'onUploadComplete'  : function(file, data) {
    console.log(data);
     });
});

4

1 に答える 1

3

tl;dr

コードを次のように変更します。

$(function() {
  $('#file_upload').uploadifive({
    'debug'             : true,
    'auto'              : true,
    'formData'          : {'test' : 'something'},
    'queueID'           : 'queue',
    'buttonText'        : 'ATTACH FILE',
    'uploadScript'      : '/upload_license',
    'onUploadComplete'  : function(file, data) {
      console.log(data);
    },
    'onFallback': function(){
      alert('HTML5 is not supported in this browser.');
    }
  });
});

説明

私は Uploadifive を使用してきましたが、うまくいきました。それらの例とドキュメントはすべて PHP を使用していますが、私は .NET でも同様に簡単に使用しています。

あなたのコードで最初に目にする問題は値です。これは、HTML フォームuploadSciptの属性に相当します。actionから絶対 URL を取得しようとしていることがわかりますが、必要なのはや".base_application_url()."upload_license/などの相対 URL だけです。私は .NET MVC4 で使用しているため、 myは に設定されています。/upload_license/upload_license.phpuploadScript/upload

もう 1 つの可能性は、お使いのブラウザーが HTML5 バージョンをサポートしていない可能性があることです (古い可能性があります)。簡単なテストのために、アップローダを初期化するときにこのオプションを追加してください

'onFallback': function () {
    alert('HTML5 is not supported in this browser');
}

Uploadifive がサポートされていない場合、このコードはアラートを表示します。その場合は、フラッシュ バージョンもダウンロードし、onFallbackコールバックで初期化します。

于 2013-02-18T14:57:21.800 に答える