3

次の設定で、pluploadをASP.NETMVC3アプリケーションと統合しています。

var uploaderSettings = {
    runtimes: "html5,silverlight,flash,html4",
    browse_button: "browse-button",
    container: "upload-ui",
    drop_element: "drag-drop-area",
    file_data_name: "file",
    multiple_queues: true,
    max_file_size: "10mb",
    url: '@Url.Action("Index", "Upload")',
    flash_swf_url: '@Url.Content("~/js/plupload/plupload.flash.swf")',
    silverlight_xap_url: '@Url.Content("~/js/plupload.silverlight.xap")',
    filters: [
        {title: "Excel Files", extensions: "xls,xslx,csv"}
    ],
    multipart: true,
    urlstream_upload: true,
    dragdrop: true,
    multipart_params: {
        token: "@AuthToken()"
    }
};

pluploadは、属性(コンマ区切り)<input type="file">に次の項目を含むを生成しています。accept

  • application/vnd.ms-excel
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • text/csv

Firefox 12.0では、フィルターを無視し、任意のファイルタイプを選択できます。

Chrome 21では、上記のファイル拡張子では機能しませんが、フィルターを画像ファイル(jpg、png、gif)に変更すると、[ファイルの選択]ダイアログが正しくフィルターされます。

この問題はChromiumバグトラッカーで見つかりました。これは関連しているようですが、2010年10月に修正済みとしてマークされました。

ランタイムの優先度をhtml5より上のsilverlightまたはflashに切り替えると、正しく機能しますが、ドラッグアンドドロップファイルのアップロード機能が失われるため、これは行いません。

これは単にaccept属性に対するブラウザのサポートの制限ですか、何か間違ったことをしているのですか、それともpluploadのバグですか?

更新:これは既知の問題であるように思われ、mimeタイプのフィルタリングに対するブラウザのサポートに要約されます。

4

2 に答える 2

4

ファイルタイプを検証する良い方法ではないようです。

入力ファイルのaccept属性が機能していません

ダイアログ内のファイルタイプをフィルタリングするようにOSにヒントを与えるためだけです。

PL Uploadでこれを行ったときは、拡張サーバー側に基づいて行いました。

于 2012-05-30T08:14:02.840 に答える
0
filters: {
             max_file_size: '100mb',
             prevent_duplicates: true,
             **mime_types:** [title : "Image files", extensions : "jpg,jpeg,gif,png"]
         }
于 2015-02-19T13:56:42.373 に答える