问题

在测试前后端交互时,前后端设备在同一局域网信息交互无法收到信息。但是测试连通性时ping完全可以接收,并且使用浏览器也可以正常访问。经过查询发现是跨域问题。

解决方法

修改前代码

@app.route('/getfile',methods=['post'])
def getfile():
    file=request.files.get('file')
    username=request.args.get('username')
    file_name='file/'+file.filename
    file.save(file_name)
    userlist[username].setfile(file_name)
    return {
        'code':200,
        'message':"文件上传成功"
    }

只需要将发送的数据头添加

{‘Access-Control-Allow-Origin’: ‘*’}

即可
修改后代码

@app.route('/getfile',methods=['post'])
def getfile():
    file=request.files.get('file')
    username=request.args.get('username')
    file_name='file\\'+file.filename
    file.save(file_name)
    userlist[username].setfile(file_name)
    # 添加header
    header = {'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json'}
    r=jsonify({
        'code':200,
        'message':"文件上传成功"
    })
    r.headers=header
    return r
    
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐