Dropzone.jsプラグインを使用して、画像アップローダーをアプリケーションに追加しています。これはおそらく本当に基本的な質問なので、謝罪しますが、ファイル拡張子を制限することを望みます。これは、単一のファイル拡張子に対して機能します。
<script type="text/javascript">
Dropzone.options.dropzone = {
accept: function(file, done) {
console.log(file);
if (file.type != "image/jpeg") {
done("Error! Files of this type are not accepted");
}
else { done(); }
}
}
</script>
したがって、私の質問は、複数のファイル拡張子を追加する方法、つまりimage/jpeg
、image/png
?
ありがとう
次のように、if
にさらに拡張機能を追加できます。
if (file.type != "image/jpeg" && file.type != "image/png") {
これにより、ファイルタイプが指定したすべてのタイプと異なるかどうかが確認されます。ファイルがチェックに合格するには、image/jpegおよびimage/pngとは異なる必要があります
更新
enyo's answer をご覧になることをお勧めします。彼はDropzoneの著者であるためです。
私はDropzoneの著者です。
を使用する必要があります acceptedMimeTypes
acceptedFiles
。これは、input
要素のaccept
プロパティとまったく同じように動作します。これにより、フォールバックも適切に機能します。
有効なacceptedFiles
プロパティは次のようになります。
audio/*
image/*
image/jpeg,image/png
[〜#〜] edit [〜#〜]:Dropzoneの最新バージョンでは、このプロパティはacceptedFiles
と呼ばれ、拡張機能も定義できます。したがって、これは動作します:
"audio/*,image/*,.psd,.pdf"
(後方互換性のため、acceptedMimeTypes
は次のメジャーリリースまで引き続き機能します)
enyoそれは働いた....素晴らしい... dropjone.jsにその行を貼り付けてください->
uploadMultiple: true, //upload multiple files
maxFilesize: 1, //1 mb is here the max file upload size constraint
acceptedFiles: ".jpeg,.jpg,.png,.gif",
http://www.dropzonejs.com/#config-acceptedFiles
Acceptのデフォルト実装は、このリストに対してファイルのMIMEタイプまたは拡張子をチェックします。これは、MIMEタイプまたはファイル拡張子のコンマ区切りリストです。例:
'image/*,application/pdf,.psd'
Dropzoneがクリック可能な場合、このオプションは隠しファイル入力の受け入れパラメーターとしても使用されます。
var myDropzone = new Dropzone('div#profile_pictures',{
acceptedFiles: "image/*", /*is this correct?*/
init: function(){
this.on("success", function(file, data) {
/*..*/
});
}
})
var dz = $("#FileUpload").dropzone({acceptedFiles: ".jpeg"})[0];
誰かが興味がある場合(Enyoの投稿にコメントすることはできません):Dropzoneオプションの適用に問題があり、調査した後、jQueryのバージョンjquery-3.2.1.min.js私が使用していたことが、その誤動作の原因でした