我有一个小的Flask网络应用程序,可以在其中选择要处理的文件。我需要获取此原始文件的位置。例如,如果我从“下载”文件夹中选择了一个文件,则需要获取下载文件夹路径。我尝试的所有操作仅给我当前的Python脚本目录的路径,从该目录我可以调用Flask应用程序,而我不希望这样。我的脚本在用户单击“处理文件”按钮后在后台运行,需要一个实际的文件位置。这样可以做吗?
@app.route("/", methods=['GET', 'POST'])
def index():
if request.method == 'POST':
file = request.files['file']
if file and allowed_file(file.filename):
filename = file.filename
print(os.path.abspath(filename)) -----> this path is always
the path of my Python script location, not the location of
the actual selected file
return render_template('index.html')
和用于选择文件的index.html:
<form action="" method=post enctype=multipart/form-data>
<p>
<input type=file name=file>
<input type=submit value='Process File'>
</p>
</form>
带有选择文件的表单的图像: