このアプリケーションでは、ユーザーがファイルをアップロードできるようにし、ファイルの種類によって保存タスクを実行します。 PDFファイルの場合は、新しい選択ページがロードされ、ユーザーにフォルダの選択を促すメッセージが表示されます。 ValueError:閉鎖ファイルのI/O操作がポップアップし、空のPDFファイルが選択された場所に保存されます。アップロードされたファイルのFlaskリダイレクト - 閉鎖ファイルの入出力操作
".mxd"ファイルは問題なく処理されます。それは選択テンプレートにリダイレクトされたためだと思われますが、フォルダ選択をどのように使用できるかわかりません。
物事を単純にするために、多くのコードが省略されています。どんな助けでも大歓迎です。
@app.route("/", methods=['GET', 'POST'])
def upload_file():
form = ReusableForm(request.form) # calls on form
if request.method == 'POST':
global folderout
folderout = request.form['folderout']
global file
file = request.files['file']
if filename.endswith((".pdf")): # For PDF files only
return redirect("/selection")
return redirect("/editor")
if filename.endswith((".mxd")):
MXDfull.savemxd()
MXDfull.pdf()
MXDfull.thumb()
return redirect("/editor")
@app.route("/selection", methods=['GET', 'POST'])
def selection1():
form = SelectionForm(request.form)
if request.method == 'POST':
global selection
selection = request.form['selection']
pdffilesave.savepdf()
return render_template("selection.html", form=form)
class PDFFile:
def savepdf(self):
self.pdffolder = os.path.join(folderout,selection)
self.pdffilename = "K" + Fnum + ".pdf"
file.save(os.path.join(self.pdffolder, self.pdffilename))
return
pdffilesave = PDFFile()
ページ1:
ページ2:
ページ3: