erlang中的图片下载

问题如题,这是在一个群里问的一个的问题。其实就是http的Server的上传下载的功能。

 ibrowse:start().
ibrowse:send_req("http://img1.gtimg.com/12/1293/129340/12934049_980x1200_0.jpg", [], get, [], [{save_response_to_file, true}]).
如正常返回:



也可以自行指定目标文件保存路径:ibrowse:send_req("http://img1.gtimg.com/12/1293/129340/12934049_980x1200_0.jpg", [], get, [], [{save_response_to_file, "/tmp/test.jpg"}]).
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
那么这个问题是如何解决的呢?
 
不错,正是用了ibrowse框架。那么什么是ibrowse呢?  它是http的客户端框架。

ibrowse is a HTTP client written in erlang.(ibrowse是一个使用Erlang写的HTTP客户端。)

项目地址:https://github.com/cmullaparthi/ibrowse

准备工作:

1、下载源代码

使用Git获取元代码,在终端执行命令:

git clone https://github.com/cmullaparthi/ibrowse.git

2、编译源代码

使用rebar构建工具编译源代码:

./rebar compile

编译成功,会在ebin文件夹下生成.beam和.app文件

(注意:这里在把项目的依赖项放到如:deps路径下,在rel下面的retool.config文件中也要添加对应的路径。如下图:)

要是不添加这个位置,依赖项是引用不到的。

尝试下:首先进入shell,./rel/new_push/bin/new_push attach

1> ibrowse:start().

下面截图:

看得到,把test.jpg图片放到了/opt/new_push/rel/files的路径下(具体放在哪儿可以根据实际去搞)。

具体见下图:

并查看下图片:

而这个ibrowse 和erlang自带的inets有什么利弊区别,当然也可以用inets去搞。

原文地址:https://www.cnblogs.com/unqiang/p/4595491.html