首页 > 解决方案 > 如何上传文件夹“图像”中的图像而不是烧瓶中的当前目录

问题描述

我想在文件夹中插入所有带有烧瓶的图像,例如“图像”,而不是将这些图像插入项目的“/”目录中,因为它看起来很重而且不专业。

这是我的代码


app.config['UPLOADED_PHOTOS_DEST'] = os.getcwd()
photos = UploadSet('photos', IMAGES)
configure_uploads(app, photos)
patch_request_class(app)  

APP_ROOT = os.path.dirname(os.path.abspath(__file__))

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    target = os.path.join(APP_ROOT, '/')
    if request.method == 'POST' and 'photo' in request.files:
        filename = photos.save(request.files['photo'])
        file_url = photos.url(filename)
    return file_url

标签: pythonflask

解决方案


您的代码有app.config['UPLOADED_PHOTOS_DEST']但没有使用它,所以我建议这样做。

我会images在您的根应用程序目录中创建一个名为的目录,然后遵循以下任一方法:

1)使用配置

APP_ROOT = os.path.dirname(os.path.abspath(__file__))
app.config['UPLOADED_PHOTOS_DEST'] = os.path.join(APP_ROOT, 'images')

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    target = app.config['UPLOADED_PHOTOS_DEST']

2)不使用配置

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    target = os.path.join(APP_ROOT, 'images')

其他注意事项:

  • 您可以UPLOADED_PHOTOS_DEST在单独的配置文件中指定文件路径

  • 在您当前的代码中,target未使用,因此您需要将该文件路径传递给您的图像处理


推荐阅读