私はdropzonejsを使用してファイルをs3バケットにアップロードしました。ファイルとフォームデータをdropzonejsとともに送信
私は送信ボタンでも通常の投稿が必要です。 しかし、form_postには$ _FILESが含まれていません。
ドロップゾーンコード:----
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone(".dropzone", {
url: '<?php echo base_url('app/attachments')?>',
maxFiles:1,
method:'post',
paramName:'attachment',
uploadMultiple:false,
addRemoveLinks:true,
params:{pg_tn:$('#pg_tn').val()},
acceptedFiles:".csv,.xls,.xlsx",
//acceptedFiles:"image/jpeg,image/png,image/gif,application/msword,application/vnd.oasis.opendocument.text",
autoProcessQueue:true,
maxFilesize:25,
timeout:120000
});
myDropzone.on("success", function(file,response) {
var res=JSON.parse(response);
console.log(res);
$('#attachment_id').val(res.attachment_id);
});
myDropzone.on("removedfile",function(file){
$('#attachment_id').val('');
});
form_postコード: -
var form = $('#ecommerce_frm')[0];
var data = new FormData(form);
$("#btnSubmit").prop("disabled", true);
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "<?php echo base_url('ecommerce/uploadsalesheet');?>",
data: data,
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (data) {
},
error: function (e) {
}
});
});
フォームURLを別のURLに再送信するには、ボタンをクリックするだけでajaxコールが1つしかありません。 、問題はフォームデータに$ _FILESが含まれていないことです。 –
@RajeevRanjanはい、あなたのボタンクリックは現在AJAX呼び出しを行います。 Dropzoneは別のAJAX POSTを実行します(あなたのAJAX呼び出しの前に発生します)。私の答えは1つのPOSTにそれらを組み合わせる方法について説明します。 –
私の要件は、それらを組み合わせることを許可していません、私はdropzonejs works.Mayどのように知っている私の要件を記述することはできませんでした。 –