Я разрабатываю веб-приложение с использованием углового, python и Flask. В моем приложении есть форма, где пользователю нужно ввести некоторые данные и загрузить свою фотографию. Я хочу реализовать загрузку файла на сервер с помощью углового. Я увидел, что мне нужно использовать FormData() и привязать данные из HTML к угловому, используя «watch». Часть javascript понятна. Я не понимаю, как я могу получить данные со стороны Python.Загрузка файла angularjs + python (Flask) на сервер
Это мой HTML -
<form enctype="multipart/form-data" ng-submit="submitGuideDetailsForm()">
<div class="form-group">
<label for="usr">Add your photo:</label>
<input type='file' class="form-control" name='file' onchange="angular.element(this).scope().uploadFile(this.files)">
</div>
</form>
Это мой угловой -
$scope.uploadFile = function(files) {
$scope.file = new FormData();
$scope.file.append("file", files[0]);
};
$scope.submitGuideDetailsForm= function() {
$http.post('/uploadFile', $scope.file, {
headers: {'Content-Type': undefined },
transformRequest: angular.identity
}).success(function(results)
{
$log.log('success load file')
}).error(function(error)
{
$log.log('error load file!!!!!')
$log.log(error);
});
};
Я хочу, чтобы получить файл на стороне сервера, используя питона и флягу -
@app.route('/uploadFile', methods=['POST'])
def uploadFile():
json_data = request.json
print(json_data)
status = 'success'
return jsonify({'result': status})
Я не знаю, как получить данные из объекта «запрос». request.json
не работает.
Просьба сообщить мне, что я делаю неправильно. Как я могу получить данные из объекта «запрос»? Нужно ли кодировать данные в файл? Как отправить данные клиенту? Нужно ли его закодировать? Я не нашел полного примера, используя угловые и python/фляги, загружая файл на сервер, сохраняя его и загружая его клиенту. Спасибо большое, работа Дина
попробовать '' request.file' или request.files' – reptilicus