как сохранить файл в mongodb cloud?
у меня есть приложение в котором я хочу сделать возможность загрузки песен. Я пытался сохранять данные в mongo db cloud, но у меня ничего не выходит. я делаю такой запрос с front-end части:
const sendFile = () => {
fetch('http://127.0.0.1:5000/music', {
method: 'POST',
headers: {
},
body: input
})
.then(r => r)
.then(data => {
console.log(data)
})
setShow(false)
}
в input лежит сам файл, который пользователь выбрал с помощью инпута вот код на flask который должен отправлять файл в бд
@app.route('/music', methods=['GET', 'POST'])
def test():
if request.method == 'GET':
all_seeds = list(music.find({}))
return json.dumps(all_seeds, default=json_util.default)
else:
profile_image = request.files['file']
mongo.save_file(profile_image.filename, profile_image)
music.insert(profile_image)
файлы естественно не загружаются и возникает ошибка 500 (INTERNAL SERVER ERROR)
Ответы (1 шт):
Автор решения: Sergei Kirjanov
→ Ссылка
Вам надо выяснить:
- где документация на сервер (flask)
- где смотреть лог сервера
- как записать в этот лог значение переменной в ходе обработки запроса
- какую библиотеку для свюзи с монго вы используете
- где у нее документация
- что в документации написано про
request.files['file'],cluster.multiTask,save_file,insert - значения каких типов ожидают на вход эти методы, и что они возвращают
- в чем отличия удачного и неудачного запроса по логам (добавив запись значений)
Пробуйте. Если где-то застрянете -- добавляйте в вопрос то, что выяснили и где застряли.