1、采用openresty中一个lua-resty-upload模块实现基于rfc1867的http协议文件上传、要求客户端提交的表单enctype=”multipart/form-data”,method=”POST”。最下面有发送请求的代码。
2、关于http文件上传可参考[[http://www.faqs.org/rfcs/rfc1867.html]]
或者[[http://blog.csdn.net/xiaoxiaohai123/article/details/2538857]]
3、具体的上传策略等可根据具体业务定制、此处不表。
4、以下是一个文件通过代理节点、上传到源站的例子
假如用户的源站在10.1.7.12, 代理节点是10.1.7.13, (当然不通过代理也可以,即直接上传到目的地;通过代理的话,可以绕开直连网络不通的问题,或者类似于借助于cdn的节点上传内容到源站)
1 则10.1.7.13的配置大体为:nginx的其他配置已忽略
localtion /uploadlua { rewrite_by_lua_file "conf/lua/rewrite.lua"; access_by_lua_file "conf/lua/access.lua"; header_filter_by_lua_file "conf/lua/header_filter.lua"; proxy_pass http://10.1.7.12;#实现