1、采用openresty中一个lua-resty-upload模块实现基于rfc1867的http协议文件上传、要求客户端提交的表单enctype=”multipart/form-data”,method=”POST”。最下面有发送请求的代码。
2、关于http文件上传可参考[[http://www.faqs.org/rfcs/rfc1867.html]]
或者[[http://blog.youkuaiyun.com/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;#实现文件上传消息的转发
}
2 则源站10.1.7.12的配置为:
localtion /uploadlua {
rewrite_by_lua_file

本文介绍了如何利用OpenResty的lua-resty-upload模块处理multipart/form-data格式的文件上传请求。内容包括HTTP文件上传的基本原理、相关RFC标准,以及一个通过代理节点上传文件到源站的示例配置。详细阐述了10.1.7.13代理节点和10.1.7.12源站的Nginx配置,以及使用lua脚本处理上传内容的逻辑。
最低0.47元/天 解锁文章
812

被折叠的 条评论
为什么被折叠?



