Отправка информации о файле dropzone с FormData - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь интегрировать dropzone в существующую форму с другими входами. Я использую альтернативный метод, где div - это dropzone, а не сама форма, потому что я хочу, чтобы изображения загружались при отправке формы, в отличие от предыдущей загрузки.

Проблема, с которой я сталкиваюсь, заключается в получении информации о файлеотправить с формой. Я попытался добавить acceptedFiles к FormData, но это не работает.

var formData = new FormData(form);
formData.append('uploadedFile', acceptedFiles);

console.log для acceptedFiles всегда [File].

Php-скрипт распознает, что файл отправляется, но с информацией о файле не отправляется связанная информация, поэтому он не работает должным образом.

Кто-нибудь видит, как я могу получить информацию о файле для отправки смой formData? Форма:

<form action="<?php echo $config['sf_url']; ?>" method="POST" id="salesforce_submit">
    <input id="first_name" name="first_name" type="text">
    <div class="dropzone dz-clickable" id="myDropzone">
        <div class="dz-default dz-message dG">Drop files here or click to upload</div>
    </div>
    <button type="submit" id="submit-all">SEND PROJECT QUOTE</button>
</form>

Код Dropzone, который получает все файлы:

var acceptedFiles = null;
var queuedFiles = null;
var rejectedFiles = null;
function toggleUploadButton() {
    acceptedFiles = myDropzone.getAcceptedFiles();
    queuedFiles = myDropzone.getQueuedFiles();
    rejectedFiles = myDropzone.getRejectedFiles();
    console.log(acceptedFiles + "Accepted Files");
    console.log(queuedFiles + "Queued Files");
    console.log(rejectedFiles + "Rejected Files");
}

Ajax Отправить:

var form = document.getElementById("salesforce_submit");
var formData = new FormData(form);
formData.append('uploadedFile', acceptedFiles);
alert(formData);

$.ajax({
    url: '/php/quoteSendTest.php',
    type: 'POST',
    data: formData,
...