nginx基於lua-resty-upload實現檔案上傳
package.path = '/usr/local/openresty/lualib/resty/?.lua;'
local upload = require "upload"
local chunk_size = 4096
local form = upload:new(chunk_size)
local file
local filelen=0
form:set_timeout(0) -- 1 sec
local filename
function get_filename(res)
local filename = ngx.re.match(res,'(.+)filename="(.+)"(.*)' )
if filename then
return filename[2]
end
end
local osfilepath = "/usr/local/openresty/nginx/html/"
local i=0
while true do
local typ, res, err = form:read()
if not typ then
ngx.say("failed to read: ", err)
return
end
if typ == "header" then
if res[1 ] ~= "Content-Type" then
filename = get_filename(res[2])
if filename then
i=i+1
filepath = osfilepath .. filename
file = io.open(filepath,"w+")
if not file then
ngx.say("failed to open file " )
return
end
else
end
end
elseif typ == "body" then
if file then
filelen= filelen + tonumber(string.len(res))
file:write(res)
else
end
elseif typ == "part_end" then
if file then
file:close()
file = nil
ngx.say("file upload success")
end
elseif typ == "eof" then
break
else
end
end
if i==0 then
ngx.say("please upload at least one file!")
return
end
將上面這個 savefile.lua 檔案放到了 nginx/conf/lua/ 目錄中
nginx.conf 配置檔案中新增如下的配置 :
location /uploadfile
{
content_by_lua_file ‘conf/lua/savefile.lua’;
}
用下面的上傳命令進行測試成功
curl -F “[email protected]” http://127.0.0.1/uploadfile
注意lua-resty-upload模組只能上傳有boundary的post請求體,沒有boundary的話需要使用socket來進行傳輸。
相關推薦
nginx基於lua-resty-upload實現檔案上傳
package.path = '/usr/local/openresty/lualib/resty/?.lua;' local upload = require "upload" local chu
基於jquery的Ajax實現 檔案上傳
---------------------------------------------------------------遇到困難的時候,勇敢一點,找同學朋友幫忙,找導師求助. Ajax Ajax簡介 AJAX(Asynchronous Javascript And XML)翻譯成中文就是“非同
springboot基於MultipartFile實現檔案上傳
MultipartFile是springMVC的jar包,不需要其它座標,可以直接使用 一. 新建controller @RequestMapping("/uploadTest1") public String test1(@RequestParam("
基於tobato的fastdfs與spring boot整合實現檔案上傳和下載
專案結構: pom.xml檔案新增配置: <!-- fastdfs --> <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastd
FastDFS和nginx實現檔案上傳詳解
1.什麼是FastDFS FastDFS 是用 c 語言編寫的一款開源的分散式檔案系統FastDFS 為網際網路量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高效能等指標,使用 FastDFS很容易搭建一套高效能的檔案伺服器叢集提供檔案上傳、下載等服務。 FastDF
如何在基於Java的Web專案中實現檔案上傳和下載?
在Sevlet 3 以前,Servlet API中沒有支援上傳功能的API,因此要實現上傳功能需要引入第三方工具從POST請求中獲得上傳的附件或者通過自行處理輸入流來獲得上傳的檔案,我們推薦使用Apac
基於Servlet3.0+註解開發實現檔案上傳
檔案上傳: * 要求: 1.表單的提交方式必須是POST 2.表單中必須有<input type="file" name="upload"/>標籤,而且該標籤必須有name屬性. 3.表單的enctype屬性的值,必須
由SpringMVC實現檔案上傳,前端基於easyui
後臺控制層的方法參考部落格:http://blog.csdn.net/qciwyy/article/details/54017166 本部落格主要講解前臺方法(基於easyui的easyui-filebox控制元件) 一 .easyui-1.4.0前版本使用方法,在這之前e
如何基於ServiceComb實現檔案上傳功能
檔案上傳,當前支援在vertx rest通道和servlet rest中使用。 檔案上傳使用標準的http form格式,可與瀏覽器的上傳直接對接。 Producer: 支援jaxrs和springmvc開發模式 jaxrs開發模式: 支援servlet定義的j
Spring MVC - MultipartFile實現檔案上傳(單檔案與多檔案上傳)
前提:引入jar包。 <dependency>
struts2實現檔案上傳與下載功能
一、Demo介紹 基於struts2框架,實現多檔案的上傳和下載功能。 實現原理圖: 部分介面圖: 上傳成功及下載頁面: 二、主要程式碼 uploadFile.jsp:在form表單中包含一個文字框(上傳使用者的姓名)和兩個檔案上傳選項. <%@
Java Springboot結合FastDFS實現檔案上傳以及根據圖片url將圖片上傳至圖片伺服器
上一篇文章我們已經講解了如何搭建FastDFS圖片伺服器,環境我們準備好了現在就讓我們開始與Java結合將他應用到實際的專案中吧。本篇文章我們將會展示上傳圖片到FastDFS圖片伺服器以及通過外網的圖片url將圖片上傳至我們自己的圖片伺服器中。 1.建立springbo
yii框架實現檔案上傳
yii框架實現檔案上傳 1.首先yii框架下載uploadFile類 2.html程式碼 <input type="file" class="file" style="display: none" name="business_license" /> 3.j
原生javascript實現檔案上傳功能程式碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ini
【SSH網上商城專案實戰13】Struts2實現檔案上傳功能
轉自:https://blog.csdn.net/eson_15/article/details/51366384 上一節我們做完了新增和更新商品的功能,這兩個部分裡有涉及到商品圖片的上傳,並沒有詳細解說。為此,這篇文章詳細介紹一下Struts2實現檔案上傳的功能。 1
關於myeclipse實現檔案上傳與使用的路徑問題
在檔案上傳的時候編寫檔案儲存應該儲存到 myeclipse 的workspace的工程目錄下面,而不是放到tomcat的webapps下面。否則eclipse 無法更新檔案。 換句話講,在eclipse中新增檔案,comcat的專案檔案中可以看見新增的文體,但是反過來,在comcat的工程目錄下
servlet3.0實現檔案上傳
servlet3.0實現檔案上傳功能 必須使用tomcat7以上的技術才能支援servlet3.0 servlet3.0 比 servlet2.5 多提供了三個新特性: 註解開發:方便 檔案上傳:有些api不是特別全 非同步請求:基本不用,使用ajax替代 檔案上傳技術: 1
Extjs+C# 實現檔案上傳
Extjs 程式碼 var ImportPanel = new Ext.form.FormPanel({ baseCls: 'x-plain', frame: false, // 注意formPanel裡面的fileUpload一定要開啟
HTTP POST請求報文格式分析與Java實現檔案上傳
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
JavaScript的FormData+Ajax實現檔案上傳+圖片上傳
JavaScript的FormData+Ajax實現檔案上傳+圖片上傳 在很多網頁開發中會存在檔案上傳,圖片上傳的操作,有的使用form表單預設功能提交檔案,有的採用Ajax提交 如果採用form表單的提交方式,恰恰又需要新增額外的引數或者需要設定特定的請求頭資訊,那麼這種方式就