Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用flask提供文件,然后使用curl下载文件_Javascript_Python_Http_Curl_Flask - Fatal编程技术网

Javascript 如何使用flask提供文件,然后使用curl下载文件

Javascript 如何使用flask提供文件,然后使用curl下载文件,javascript,python,http,curl,flask,Javascript,Python,Http,Curl,Flask,因此,我试图用flask制作一个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

因此,我试图用flask制作一个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)
我可以在浏览器上打开相同的链接,完美地查看文件,这样我就知道
send\u static\u file
功能工作正常。但是上面的
curl
命令以无法打开的方式下载文件。我还有什么地方做错了吗

我还不太熟悉Python和Flask

编辑:不知何故,同样的东西在
wget
上运行得非常好,所以我想知道这是否是我调用curl的方式的问题。我做错什么了吗?有人能解释一下什么东西是通过HTTP下载的吗?如中所示,get请求是否有任何特殊的头?如果不是,那么响应的格式是什么,文件是如何存储的

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将通过此返回语句下载

当您使用
curl
方法时显示的错误是什么?另外,您不需要
--request
标记,因为它默认为
GET
@GIRISHRAMNANI我编辑了我的问题。对于第二个注释,我喜欢把它放在那里以明确表示:)如果使用
-o
例如
curl-o tank.png--request GET显式地提供文件名,它是否有效?”http://localhost:8000/pictures/tank.png“
不,我没有试过。为什么会有区别呢?不要在你的文件字段中使用相同的**作为你的身份证明
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")