#python #django #django-rest-framework
Вопрос:
Я хочу получить csv-файл в сообщении(запросе) в django.
file = request.FILES['file'] # is this way is correct to get csv file
Я пробовал код выше, но получил эту ошибку:
UnsupportedMediaType: Unsupported media type "text/csv" in request.
Пожалуйста, помогите, я застрял на два дня.
def post(self, request, version_id):
"""
upload csv file to s3
params: request (csv file)
"""
response = {"success": True, "data": {}, "message": ""}
file = request.FILES['file'] #is this way is correct to get csv file
is_valid, message = self.validate_file(file) #this function for check file is csv or not
if is_valid:
ImageUpload = ImageUploader()
try:
response = ImageUpload.upload_file(file)
except Exception as e:
response.update({"success": False, "message": e})
else:
response.update({"message": message, "success": False})
return Response(response, 200)
Комментарии:
1. Вы, должно быть, используете а
form
. Пожалуйста, также опубликуйте HTML-код.2. @Ram Я хочу загрузить файл CSV в s3(AWS), поэтому сначала извлеките файл csv, и функция загрузки работает правильно, если я запускаю прямую функцию, указанную с указанием пути к файлу, но когда я использую запрос. ФАЙЛЫ , поэтому возникает ошибка
3. Как вы загружаете ? Должна быть какая-то веб-страница, на которую вы загружаете/заполняете данные. Опубликуйте этот HTML-код.
4. @Озу кто-то еще работает над HTML. Я недавно стал бэкенд-разработчиком. задача состоит в том, чтобы загрузить csv-файл из интерфейса(панели мониторинга). и получите этот файл и напрямую загрузите его на сервер s3. это задача и задача внешнего интерфейса, выполняемая другим человеком.
5. Попробуйте распечатать
request.FILES
и посмотреть, есть ли в нем файл, который вы ищете. Прочитайте это для получения дополнительной информации.