from datetime import datetime
from flask import render_template, request,Flask
from run import app
from wxcloudrun.dao import delete_counterbyid, query_counterbyid, insert_counter, update_counterbyid
from wxcloudrun.model import Counters
from wxcloudrun.response import make_succ_empty_response, make_succ_response, make_err_response
import pkuseg
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from imageio import imread
import os
@app.route('/upload', methods=['POST'])
def upload():
# all_files = [f for f in os.listdir('/appcloudrun')]
# return str(all_files) #获取当前工作目录路径
file = request.form.get('allcomment')
seg = pkuseg.pkuseg()
text = seg.cut(file)
text = str(text)
return "ok"
bg_pic = imread('/appcloudrun/R-C.jpg')
wordcloud = WordCloud(mask=bg_pic,background_color='white',font_path='/appcloudrun/华文楷体.ttf',scale=1.5).generate(text)
'''参数说明:
mask:设置背景图片 background_color:设置背景颜色
scale:按照比例进行放大画布,此处指长和宽都是原来画布的1.5倍
generate(text):根据文本生成词云 '''
wordcloud.to_file('/appcloudrun/ciyun.jpg')
以上是github中的view.py文件代码
# 写在最前面:强烈建议先阅读官方教程[Dockerfile最佳实践](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/)
# 选择构建用基础镜像(选择原则:在包含所有用到的依赖前提下尽可能提及小)。如需更换,请到[dockerhub官方仓库](https://hub.docker.com/_/python?tab=tags)自行选择后替换。
# 选择基础镜像
FROM python:3.7.11
# 设定当前的工作目录
WORKDIR /app
COPY . /app
# 安装依赖到指定的/install文件夹
# 选用国内镜像源以提高下载速度
RUN pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple \
&& pip config set global.trusted-host mirrors.cloud.tencent.com \
&& pip install --upgrade pip \
&& pip debug --verbose \
&& pip install --user -r requirements.txt
# 设定对外端口
EXPOSE 80
# 设定启动命令
CMD ["python3", "run.py", "0.0.0.0", "80"]
上面这个是Dockerfile
// 确认已经在 onLaunch 中调用过 wx.cloud.init 初始化环境(任意环境均可,可以填空)
const res = await wx.cloud.callContainer({
config: {
env: 'prod-0gayxkvve034fe60', // 微信云托管的环境ID
},
data:{
allcomment:this.data.allcomment
},
path: '/upload', // 填入业务自定义路径和参数,根目录,就是 /
method: 'POST', // 按照自己的业务开发,选择对应的方法
header: {
'X-WX-SERVICE': 'flask-xx8y', // xxx中填入服务名称(微信云托管 - 服务管理 - 服务列表 - 服务名称)
'content-type': 'application/x-www-form-urlencoded' //后端可以获取数据,不写获取不到
// 其他header参数
},
// 其余参数同 wx.request
timeout:60000
});
console.log(res);
这一个是小程序调用代码
但是在小程序调用云托管的时候报了错,错误具体如下:
请问大佬们这个是为什么
但是如果我把return放在函数的最前面就不会报错,请问这是什么原因