Dropzone - сервер ответил 0 кодом
Ubuntuu - ssh - Symfony3 - Угловые семена - Dropzone
Я работаю над задачей, которая загружает файл Excel из dropzone в веб-сервис, реализованный с помощью symfony3. Когда загрузка завершена, веб-служба начинает синтаксический анализ файла, чтобы возвратить успешное событие события dorpzone, которое ожидает сигнала от php-части результата синтаксического анализа.
Я нахожусь в фазе развертывания и работаю с ssh-сервером моего клиента. Все работает нормально (загрузка, анализ, сообщение об успешном возврате), когда я запускаю свой веб-сервис с
php bin / console server: запустить myserverurl: порт
но когда я использую виртуальный хост, созданный клиентом, возникает проблема:
после загрузки файла я сразу же получил ошибку Dropzone "Сервер ответил кодом 0", но файл был получен веб-службой, и процесс успешно завершен, конечно, он попытался вернуть успешное конечное сообщение в Dropzone, но это уже вниз. Я проверил файлы с этими размерами (2,4M / 8,9M / 14,5M).
Напротив, все работает хорошо с некоторым файлом (207K / 50K).
Я не могу заключить, если эта проблема из-за параметра extern (apache-limit, ...), я не уверен, блокирует ли сервер событие ожидания dropzone из-за ограничения по времени или что-то еще.
Это моя конфигурация dropzone:
$scope.dropzoneConfig = {
'options': { // passed into the Dropzone constructor
'url': $rootScope.baseUrl + 'admin/surveys/updates?access_token=' + $auth.getToken(),
'maxFiles': 1,
'uploadMultiple': false,
'autoProcessQueue': false,
'maxFileSize': 30
},
'eventHandlers': {
'addedfile': function (file) {
if (!$scope.dropzone) {
$scope.dropzone = this;
}
if (!(vm.allowedExt.indexOf(vm.getFileExt(file.name)) > -1 )) {
$scope.resetForm();
vm.showErrorAlert('L\'extension de votre fichier est invalide , SVP veuilez choisir une extension .xlsx ou .xls');
return;
}
if ($scope.surveyCreate) {
if ($scope.surveyCreate.$valid) {
vm.enableBtn();
} else {
vm.disableBtn();
}
}
// survey edit
if ($scope.surveyEdit && $scope.selectedSurvey != undefined) {
vm.enableBtn();
}
},
'maxfilesexceeded': function (file) {
this.removeAllFiles();
this.addFile(file);
},
'sending': function (file, xhr, formData) {
if ($scope.survey != undefined && $scope.survey.name) {
formData.append('name', $scope.survey.name);
}
if ($scope.selectedSurvey != undefined) {
formData.append('survey_id', $scope.selectedSurvey.id);
}
},
'success': function (file, response) {
vm.hideSpinner();
$scope.resetForm();
if (response.success) {
vm.showSuccessAlert();
$scope.updateSurveysArray(response.data);
} else {
vm.showErrorAlert(response.errorMsg);
}
},
"error": function (file, error, xhr) {
vm.hideSpinner();
$scope.resetForm();
if (error.hasOwnProperty('message'))
vm.showErrorAlert(error.message);
else
vm.showErrorAlert('file transfer error');
}
}
};
Есть идеи?
1 ответ
Сначала проверьте php.ini и проверьте, является ли upload_max_filesize, если он маленький, чем сделать его 1000M
добавить прослушиватель событий на кнопку отправки:
submitButton.addEventListener ("click", function (file) {
if (myDropzone.getAcceptedFiles().length > 0) {
if (submitfiles === true) {
submitfiles = false;
return;
}
file.preventDefault();
myDropzone.processQueue();
myDropzone.on("complete", function () {
submitfiles = true;
$('#submit_button').trigger('click');
});
}
});