Flask的send_file()函数在查找fi时不断更改目录

2024-09-29 01:25:10 发布

您现在位置:Python中文网/ 问答频道 /正文

在同一个文件version.py中有两个函数或视图,一个用于上载,另一个用于下载该文件。问题是send_file函数在打开文件时不断更改目录。 代码1: 文件上传功能:

                binfile = form.binfile.data
                filename = secure_filename("arduino.bin")
#without the app folder
                binfile.save(os.path.join(
                    app.config['UPLOAD_FOLDER'], 
                    device_names.farm_id, 
                    device_names.mqtt_id, 
                    filename))
                flash('File Uploaded', 'success')

文件下载功能:

^{pr2}$

在这里,文件被上传到项目根文件夹。 当我发送此文件的请求时,我收到以下错误:

[Errno 2] No such file or directory: ‘/home/maxwell/Desktop/python/aquaponics-monitor/app/firmware-manager/FARM0/node2/arduino.bin’

当我手动将文件移动到“app”文件夹时,我没有错误,请求时会收到200个响应代码。所以我假设函数是在“app”文件夹中查找文件。我在上传的时候,通过在路径中添加“app”来更改上传位置。在

代码2: 文件上传功能:

                binfile = form.binfile.data
                filename = secure_filename("arduino.bin")
#app folder included
                binfile.save(os.path.join(
                    'app',
                    app.config['UPLOAD_FOLDER'], 
                    device_names.farm_id, 
                    device_names.mqtt_id, 
                    filename))
                flash('File Uploaded', 'success')

文件下载功能与代码1相同。对于此代码,我得到以下错误:

[Errno 2] No such file or directory: ‘firmware-manager/FARM0/node2/arduino.bin’

文件下载功能现在在项目根文件夹中查找。这次我手动将文件移动到根文件夹,再次得到状态代码200,当我发送请求时没有错误。 我在整个应用程序中所做的唯一代码更改是将“app”添加到文件上载函数的路径中。为什么会这样?在


Tags: 文件函数代码功能文件夹idappbin