簡體   English   中英

如何獲取 Flask 上的完整文件路徑?

[英]How to get full filepath on Flask?

我想獲得 Flask 上的完整文件路徑。

這是 HTML 代碼的一部分。

<form method="post" action="{{ url_for('xxx') }}" enctype='multipart/form-data'>
  <dl>
    <label for="fname">Filename</label>
    <input type="file" name="fname" id="fname">
  </dl>
  ...
</form>

然后,用戶將文件名發送到 Flask。

Flask 會抓住它。

try:
  file = request.files['fname']
  with open(file.filename) as f:
    ...
catch:
  ...

但是 Flask 只能獲取文件名,不能獲取完整路徑。

因此,此應用程序無法打開文件並返回內部服務器錯誤。

如何獲取用戶本地文件的完整路徑?

提前致謝。

根據您的問題,我認為您想上傳文件然后訪問上傳的文件。

盡管您在詢問與此任務無關的用戶本地路徑的完整路徑,但幾乎沒有什么不清楚的,因為 flask 不應訪問用戶的文件系統(瀏覽除外),而且每個用戶都必須定義不同的路徑每次上傳。 所以回過頭來,我認為方法應該更多的是訪問服務器上用戶上傳的文件。

因此,如果是這種情況,讓我進一步解釋。

每個上傳的文件首先保存在服務器上的一個臨時位置,然后實際保存到其最終位置。

您可以通過以下方式設置此位置:

app.config['UPLOAD_FOLDER']

當然,文件名是您上傳時獲得的文件名,具體取決於您的代碼。

設置后,只需使用該位置並更新您的 function。

可以在這里找到很好的參考:消費公共上傳https://blog.miguelgrinberg.com/post/handling-file-uploads-with-flask

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM