azure 内部服务器错误:部署flask Web应用程序时文件上传问题

9rnv2umw  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(90)

我正在通过github在azure上部署一个flask web应用程序。我遇到了文件处理的问题。
当我点击地址时,它会打开我需要上传文件的第一页。但是当我按下提交按钮来处理它时,它给出了“内部服务器错误”。该.xlsm文件是通过前端上传使用HTML表单,并在flask中的API中访问,但是,我无法处理(做任何操作或从中提取数据),可能是由于web在保存后无法访问它的原因。我不确定我应该给予出什么路径来保存我的文件,以便它可以被服务器访问。请注意,该应用程序在我的本地机器上运行绝对良好,而运行它在地址127.0.0.5000,但部署后不是。我是新来的,所以不知道事情是如何运作的。任何线索将不胜感激。提供的是代码,我试图运行。注意:我已经将代码上传到了一个连接到Azure的github存储库上。
我尝试使用temp_file_path = tempfile.mktemp(后缀='. xlsm')也将文件存储在临时位置,但没有任何效果。

from flask import Flask
app = Flask(__name__)
@app.route('/process', methods=\['POST'\])  
def process():  
    if 'file_policy' not in request.files:  
        ("No file part")  
        return render_template('output.html',filename='File not found')  
    else:
        file = request.files\['file_policy'\]  
        app.config\['UPLOAD_FOLDER'\]='.'  
        filename = secure_filename(file.filename)  
        path=os.path.join(app.config\['UPLOAD_FOLDER'\], filename)  
        file.save(path)  
        output=(pd.read_excel('path', sheet_name='Input')) #to check if the file is correctly saved  
        print(path)  
        print(output)  
        result=subprocess.run(\['python', 'Motor_Tool_2.py', os.path.join(app.config\['UPLOAD_FOLDER'\], filename), path\], capture_output=True, text=True, cwd=os.getcwd())  
        return render_template('output.html', filename='path')

字符串

vfh0ocws

vfh0ocws1#

我不认为上传有什么问题。我最初认为可能是路径问题,但我几乎使用了相同的代码,并成功上传了一个文件。


的数据
由于您收到了一个500错误,它很可能是在处理output或您的subprocess.run方法。为了确定情况,您需要在process()方法中添加一些额外的日志记录,并观察流中的日志。

相关问题