我有一个Python Web应用程序,它在Web浏览器中本地运行,以方便界面,处理用户选择的文件,并保存处理过的数据。我需要添加在选择文件的同一文件夹中创建新子目录的功能(即,如果文件是path / fname.txt,我需要创建路径/ fname /我可以放置处理过的数据)。如何访问该文件的路径?
在其他项目中,我已经单独询问了路径,但这很笨重,我宁愿不让用户为每个文件执行这个无关的步骤。
@app.route('/getthefile', methods=['POST'])
def getthefile():
file = request.files['myfile']
filename = secure_filename(file.filename)
new_path = os.path.abspath(filename)
# gives me the wrong path
答案 0 :(得分:1)
为了不暴露有关客户端系统的不必要信息,只发送带有HTTP请求的文件名。不发送完整路径。看一下HTTP multipart/form-data request:
Content-Type: multipart/form-data; boundary=AaB03x
--AaB03x
Content-Disposition: form-data; name="submit-name"
Larry
--AaB03x
Content-Disposition: form-data; name="files"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--
如您所见,信息非常少。未提供路径。
同样,File API只允许访问文件名。
很遗憾,您将无法从文件输入中获取完整路径。