问题如题,这是在一个群里问的一个的问题。其实就是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去搞。