先回顾下在此系列第8次分享给出的预期实现的产品原型和需求说明,如下图整体上和前两节实现很相似,只不过一般测试报告要写的内容可能比较多,就多用了些多行输入框组件,另外一个特别的全新功能操作就是 附件上传,这是需要先解决和要掌握的重点内容。

测试开发实战[提测平台]17-Flask&Vue文件上传实现-LMLPHP

后端服务实现附件的保存,要写个上传接口,服务端通过request.files进行获取实现,Postman模拟请求的话,方法使用POST,文件通过form-data格式中的file进行上传,一个基本的实现代码接口如下:

  1. 定义请求方法和路径

  2. 拼接一个项目保存文件夹的一个绝对路径

  3. 获取form-data指定key的文件,通过save保存后返回成功消息 

@test_manager.route("/api/report/upload",methods=['POST'])
def uploadFile():
    # 保存文件的路径
    save_path = os.path.join(os.path.abspath(os.path.dirname(__file__)).split('TPMService')[0], 'TPMService/static')
    # 获取文件
    attfile = request.files.get('file')
    attfile.save(os.path.join(save_path, attfile.filename))
    return {"code":200, "message":"上传请求成功"}
12-20 01:34