我正在尝试将PNG作为附件发送,但它并没有出现在Slack中。我在POST方法中设置了正确的参数,但Slack拒绝使用我提供的图像。
我使用flask来提供静态文件:
@app.route('/data/<path:path>')
def send_png(path):
response = make_response(send_file("data/" + path))
return response
当我在浏览器中调用URL时,文件显示没有任何问题。当我将URL作为附件传递给松弛时,文件不会显示。
当我传递imgur-image的网址时,会显示附件 。
出于这个原因,我认为这个问题存在于文件瓶所服务的内容类型/文件头中。
我的文件标题是:
HTTP/1.0 200 OK
Content-Length: 391777
Content-Type: image/png
Last-Modified: Fri, 02 Mar 2018 22:46:41 GMT
Cache-Control: public, max-age=43200
Expires: Sat, 03 Mar 2018 12:48:53 GMT
ETag: "1520030801.2465587-391777-4064615867"
Server: Werkzeug/0.11.11 Python/3.5.2
Date: Sat, 03 Mar 2018 00:48:53 GMT
Connection: keep-alive
我也可以验证,Slack确实要求我的附件(只是没有显示它,如前所述):
[('User-Agent', 'Slackbot 1.0 (+https://api.slack.com/robots)'), ('X-Forwarded-For', '54.89.92.4'), ('Content-Type', ''), ('Accept-Encoding', 'gzip,deflate'), ('Accept', '*/*'), ('Host', 'XXXXXXXXXX'), ('Referer', 'https://slack.com'), ('Content-Length', ''), ('X-Forwarded-Proto', 'https')]