文件上传

1.功能描述

在控制面,加载njet-http-upload-module,通过api上传接口,能够将本地文件上传到NJET服务器,上传完成后,服务器返回一个文件名称给客户端

2.依赖模块

load_module modules/njt_http_upload_module.so;

3.配置样例

njet_ctrl.conf

...
#加载文件上传模块,加载后,即可支持/api/v1/upload
load_module modules/njt_http_upload_module.so;
...

http {
    server {
        listen       8081;
        
        client_max_body_size 1G;     #文件上传大小配置,默认是1M,如果是大文件,则要配置该指令
        
        #配置api入口
        location /api {
            dyn_module_api;       #开启api
        }
        
       #配置上传html,通过该html页面可通过浏览器上传一个文件
       location / {
            root /root/bug/njet1.0/html;
            index upload.html;
       }
....
}

upload.html

<html>
<head>
<title>Test upload</title>
</head>
<body>
<h2>Select files to upload</h2>
<form enctype="multipart/form-data" action="/api/v1/upload" method="post">
<input type="file" name="file1"><br>
<input type="submit" name="submit" value="Upload">
<input type="hidden" name="test" value="value">
</form>
</body>
</html>

4.调用样例

curl -F "file=@/home/njet/test_crl/rsa/certsDir/crl.pem" http://192.168.40.158:8081/api/v1/upload

上传成功返回:

{"code":200,"file":"9794a240f3bbb2e16e2c366f5a446492.dat"}

上传后的文件在$prefix/data/file_upload 目录下