Python 烧瓶图像无法上载(FileNotFoundError:[Errno 2]没有此类文件或目录)
您好,我正在编写博客脚本,但get-FileNotFound错误。 Python代码:Python 烧瓶图像无法上载(FileNotFoundError:[Errno 2]没有此类文件或目录),python,python-3.x,flask,Python,Python 3.x,Flask,您好,我正在编写博客脚本,但get-FileNotFound错误。 Python代码: @app.route('/upload',methods=['POST']) def upload(): title = request.form['title'] context = request.form['text'] author = request.form['author'] img=request.files['img'] path = os.path.
@app.route('/upload',methods=['POST'])
def upload():
title = request.form['title']
context = request.form['text']
author = request.form['author']
img=request.files['img']
path = os.path.join(app.root_path,'/images',img.filename)
img.save(path)
new=Posts(title=title,context=context,image=path,author=author)
db.session.add(new)
db.session.commit()
return redirect(url_for('blog'))
错误:
img.save(path)
File "/home/coderrpy/.virtualenvs/python/lib/python3.8/site-packages/werkzeug/datastructures.py", line 3066, in save
dst = open(dst, "wb")
FileNotFoundError: [Errno 2] No such file or directory: '/images/images.jpeg'
我从来没有收到过这样的错误,我不知道为什么
请帮助我根据您共享的代码,我相信您上传了一张图像并将其保存在一个文件夹中 问题似乎是从文档os.path生成路径的方式 智能地连接一个或多个路径组件。返回值为 path和*路径的任何成员与恰好一个路径的串联 除最后一部分外,每个非空部分后面的目录分隔符, 这意味着如果最后一部分 是空的。如果零部件是绝对路径,则所有以前的零部件 被丢弃,并从绝对路径继续连接 组成部分 要实现这一点,您可以通过这种方式定义路径
path = os.path.join(app.root_path,'/images',img.filename)
另外,如果您通过Flask上传文件,您可能需要采取更多步骤来保持文件的完整性,这可能会有所帮助
作为
您可能只需要从/images
中删除前面的/
,这可能是在欺骗.join()
导入操作系统
>>>join(“/foo”和“/bar”)
“/酒吧”
>>>join(“/foo”,“bar”)
“/foo/bar”
我还建议使用which,它的行为应该类似,但是对于您将遇到的任何路径异常(例如空格和分隔符),它会更聪明一些,使用逻辑Path
对象而不是普通字符串
导入路径库
>>>Path(“/foo”、“bar”、“filename”)
PosixPath('/foo/bar/filename')
从
/images
中删除/
,仅保留图像