complete download image (#15)

This commit is contained in:
XiaoLi
2021-09-06 19:33:30 +08:00
committed by GitHub
parent c7a35c4744
commit 49e4710203
3 changed files with 59 additions and 45 deletions
+29 -38
View File
@@ -74,7 +74,7 @@ curl -v -F 'up_load_json=@./test_files/tile-0.jpg' -F 'up_load_json=@./test_file
``` ```
⚠️ **./test_files/test0.jpg ./test_files/test1.jpg ./test_files/test2.jpg 为三张上传拼接的图片的路径和文件名** ⚠️ **./test_files/test0.jpg ./test_files/test1.jpg ./test_files/test2.jpg 为三张上传拼接的图片的路径和文件名**
```bash ```bash
* Trying 152.136.103.69... * Trying 152.136.103.69...
* TCP_NODELAY set * TCP_NODELAY set
@@ -219,7 +219,7 @@ location /image_append {
<h2 id="3">3.图片下载</h2> <h2 id="3">3.图片下载</h2>
- music-room配置 - music-room配置-
```nginx configuration ```nginx configuration
# 子域名配置文件路径 # 子域名配置文件路径
@@ -227,47 +227,38 @@ location /image_append {
# server contex 中添加location # server contex 中添加location
#Donwload image use ngx.req.set_uri
location /download_image {
rewrite_by_lua_block {
ngx.log(ngx.INFO , "location /download_image")
-- TODO: jwt decoder
--
-- Functions : String split
string.split = function(s, p)
local rt= {}
string.gsub(s, '[^'..p..']+', function(w) table.insert(rt, w) end )
return rt
end
-- Get url and split by '/' save into a table
local sub_url_table = string.split(ngx.var.uri, '/')
local sub_url_number = table.getn(sub_url_table)
for i = 1, sub_url_number do
ngx.log(ngx.INFO , "Sub url sub" .. i .. " : " .. sub_url_table[i])
end
local uri = "/internal_file_upload/"..sub_url_table[sub_url_number]..".jpg"
ngx.log(ngx.INFO , "uri : " .. uri)
return ngx.req.set_uri(uri , true)
}
}
#Static file server #Static file server
location /internal_file_upload { location /file_upload {
internal; default_type "";
try_files $uri /file_upload/8493acab-0f7a-47e0-8fff-e96b843334dd.jpg; alias /file_upload/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
#Download image files
location /download_image {
rewrite_by_lua_block{
-- Get download image id
local download_image_id = string.match(ngx.var.request_uri, ".*/(.*)$")
ngx.log(ngx.INFO , "Download image id: " .. download_image_id)
-- Set redirect uri
--local uri = "/internal_file_upload/" .. download_image_id .. ".jpg"
--return ngx.exec(uri)
local uri = "/file_upload/" .. download_image_id .. ".jpg"
return ngx.exec(uri, {a = download_image_id})
}
} }
``` ```
- 添加lua脚本 - wget测试
```bash ```bash
/usr/local/openresty/resty_funcs wget http://localhost:8080/download_image/{download_image_uuid}
.
└── download_image.lua
``` ```
+7 -7
View File
@@ -1,7 +1,7 @@
-- Get download image id ---- Get download image id
local download_image_id = string.match(ngx.var.request_uri, ".*/(.*)$") --local download_image_id = string.match(ngx.var.request_uri, ".*/(.*)$")
ngx.log(ngx.INFO , "Download image id: " .. download_image_id) --ngx.log(ngx.INFO , "Download image id: " .. download_image_id)
--
-- Set redirect uri ---- Set redirect uri
local uri = "/internal_file_upload/" .. download_image_id .. ".jpg" --local uri = "/internal_file_upload/" .. download_image_id .. ".jpg"
return ngx.exec(uri) --return ngx.exec(uri)
+23
View File
@@ -33,6 +33,29 @@ server {
location /api/ngx/image/combine { location /api/ngx/image/combine {
content_by_lua_file /usr/local/openresty/resty_funcs/combine.lua; content_by_lua_file /usr/local/openresty/resty_funcs/combine.lua;
} }
#Static file server
location /file_upload {
default_type "";
alias /file_upload/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
#Download image files
location /download_image {
rewrite_by_lua_block{
-- Get download image id
local download_image_id = string.match(ngx.var.request_uri, ".*/(.*)$")
ngx.log(ngx.INFO , "Download image id: " .. download_image_id)
-- Set redirect uri
--local uri = "/internal_file_upload/" .. download_image_id .. ".jpg"
--return ngx.exec(uri)
local uri = "/file_upload/" .. download_image_id .. ".jpg"
return ngx.exec(uri, {a = download_image_id})
}
}
location /api/v1/ws/ { location /api/v1/ws/ {
proxy_pass http://127.0.0.1:3001/api/v1/ws/; proxy_pass http://127.0.0.1:3001/api/v1/ws/;