我已经用文件输入表单构建了一个小的flask应用程序,现在我希望将该文件发送到API。
@app.route('/test', methods=['POST', 'GET'])
def test():
if request.method == 'POST':
file = request.files['file']
file.save(secure_filename(file.filename))
帖子部分的“我的布局”:
data = {
"local": file,
"name": file.filename
}
rp = requests.post(f'https://www.meistertask.com/api/tasks/{task_id}/attachments', data, headers={'Authorization': f'Bearer {access_token}'})
print(rp.status_code)
print(rp.content)
无论我如何尝试将该文件发布到API,我总是会收到以下响应:
{
"errors": [
{
"message": "Parameter local should be of type ActionDispatch::Http::UploadedFile!",
"status": 400
}
]
}
我真的不知道如何从我在flask中上传的文件中发布该类型的文件。 我真的很感谢您的帮助!预先非常感谢。
答案 0 :(得分:0)
file
不是真实文件,而是来自werkzeug软件包的文件存储。
https://werkzeug.palletsprojects.com/en/1.0.x/datastructures/#werkzeug.datastructures.FileStorage
我不清楚meistertask的API文档,尤其是我看不到local
应该是什么。一条路径?流?字节?