Python 如何在flask中创建上载文件

Python 如何在flask中创建上载文件,python,flask,file-upload,Python,Flask,File Upload,这是我的上传功能,但每次我转到添加衣服路线并将图像添加到表单中时,我都会遇到以下错误: 我知道这是我的路径问题,但我不知道如何将文件放入基本目录 @app.route('/addtowns',methods=[“POST”,“GET”]) def addcosts(): 如果request.method==“POST”: 如果“文件”不在request.files中: 闪存(“无文件部分”) 返回重定向(request.url) file=request.files['file'] 如果fil

这是我的上传功能,但每次我转到
添加衣服
路线并将图像添加到表单中时,我都会遇到以下错误:

我知道这是我的路径问题,但我不知道如何将文件放入基本目录

@app.route('/addtowns',methods=[“POST”,“GET”])
def addcosts():
如果request.method==“POST”:
如果“文件”不在request.files中:
闪存(“无文件部分”)
返回重定向(request.url)
file=request.files['file']
如果file.filename=='':
闪存('没有选定的文件')
返回重定向(request.url)
如果文件:
filename=secure\u文件名(file.filename)
file.save(os.path.join('/static/img/',filename))
新衣服=衣服(衣服名称=衣服名称,图像=图像,价格=价格,发行人=假)
db.session.add(新衣服)
db.session.commit()
返回重定向(url_for('addCloth'))
返回呈现模板('addcosts.html')
这是我的文件结构:


我想将其添加到基本目录

您应使用以下内容保存此文件:

file.save(os.path.join('static/img/',filename))
请注意,在静态之前删除了前面的
/
。使用此演示文稿,它试图保存到服务器
/
驱动器上的
静态
子目录,而不是应用程序目录中


另一方面,创建包含随机字符的文件名可能比使用用户提供的文件名更有利;当然,如果您正在处理大量的文件上传。请参阅我写的另一篇文章。

非常感谢您,这对我帮助很大。你救了我的命(这个问题已经困扰了我一整天!!!)@KennethLau没问题。如果这解决了你的问题,请考虑将答案标记为接受。