Ubuntuu — ssh — Symfony3 — Angular-seed — Dropzone
Я работаю над задачей по загрузке файла excel из dropzone в веб-службу, реализованную с помощью symfony3. Когда загрузка завершена, веб-сервис начинает парсить файл, чтобы вернуть успех для события успеха дорпзоны, которая ожидает сигнала от php-части результата парсинга.
Я нахожусь на этапе развертывания и работаю с ssh-сервером моего клиента. Все работает нормально (загрузка, синтаксический анализ, возврат сообщения об успешном завершении), когда я запускаю свой веб-сервис с помощью
php bin/console server:start myserverurl:port
но когда я использую виртуальный хост, созданный клиентом, теперь возникает проблема:
после загрузки файла я сразу же получил ошибку дропзоны "Сервер ответил кодом 0.", но файл был получен веб-службой, и процесс успешно завершен, конечно, он попытался вернуть сообщение об успешном завершении в dropzone, но он уже не работает. Я тестировал файлы с такими размерами (2,4 МБ / 8,9 МБ / 14,5 МБ).
Наоборот, с каким-то файлом (207К/50К) все работает хорошо.
Я не могу сделать вывод, связана ли эта проблема с внешним параметром (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');
}
}
};
Любые идеи ?