要上载文件而不使用flask刷新页面吗

2024-03-30 06:25:52 发布

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

所以我得到了一个表单来上传文件到网站上,但我不希望它在上传完成或文件输入为空时刷新页面。我的网站是这样工作的:

1-选择要上载的文件

2-单击“上载”,上载界面将隐藏,并显示另一个界面,以便在这些文件上运行python脚本

我想做的是,当单击submit按钮时,它会等待文件上传,然后显示运行python脚本的第二个界面

这是我的烧瓶控制器:

@app.route("/", methods=['GET','POST'])
def uploader():
    if request.method == 'POST':
        if request.files:

            file = request.files["fileUpload"]

            if file.filename == "":
                print("File must have a filename")

            if not allowed_file(file.filename):
                print("File extension not allowed")
                return redirect(request.url)

            file.save(os.path.join(app.config["FILE_UPLOADS"], file.filename))

            print("File saved")

            return redirect(request.url)
    return render_template('index.html')

这是用于显示和隐藏接口的js:

function uploadFiles(){
  fileInput = document.querySelector('.fileUpload');
  typeSelect = document.getElementById('format1');
  if((fileInput.files.length == 0)){
    alert('Please select a file.')
  }else if((typeSelect.value == 'chooseType')){
    alert('Please select webshell type')
  }else{
    fileName = fileInput.value;
    type = typeSelect.value;
    console.log(fileName,type);
    document.querySelector('.submit').addEventListener("click", function(){
      document.querySelector('.selectFiles').style.display = "none";
      document.querySelector('.uploadFiles').style.display = "flex";
    })
  }
}

Tags: 文件界面returnifvaluerequestfilesfilename