因此,我正在尝试使用烧瓶制作API,然后将其与javascript一起使用以在浏览器上显示一些图像,但我遇到了单元测试的问题,无论图像发送(通过Flask)是否正常工作。这是我现在的烧瓶代码
@api.route("/pictures/<picture_name>")
def send_picture(picture_name):
"""Used to send the requested picture from the pictures folder."""
return api.send_static_file(picture_name)
然后我尝试使用以下命令下载例如图像puppy.png
curl -O --request GET "http://localhost:8000/pictures/tank.png"
我可以在浏览器上打开相同的链接并完美地查看该文件,因此我知道send_static_file
功能正常工作。但是上面的curl
命令以无法打开的方式下载文件。还有别的我在这里做错了吗?
我不熟悉Python和Flask ......
编辑:不知怎的,同样的事情与wget
完全正常,所以我想知道这是否与我进行卷曲调用的方式有关。有什么我做错了吗?有人可以解释通过HTTP下载的确切内容吗?因为get请求有任何特殊的标题吗?如果没有那么格式化的响应是什么以及文件是如何存储的?
答案 0 :(得分:0)
curl -X POST -F **file=@/home/developer/Documents/cloudish_csv/cloudish1.csv** http://127.0.0.1:5000/cloudish/daily_update?api_key=hqjjnynxtgqvkqzowdxpefdv
将文件路径放在curl请求的文件字段中,并使用stringio下载csv,调用另一个扩展名,如上所示,没有任何文件字段。附加示例代码....
class Clouddish_forecast(Resource):
def get(self):
output = StringIO()
out = pd.read_csv("/home/developer/Downloads/vig.csv",sep=",")
out.to_csv(output, index=False)
return Response(output.getvalue(), mimetype="text/csv")
将通过此返回声明下载vig.csv