首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
物联网/工业互联网
›
物联网
›
nginx服务器实现上传文件功能_利用nginx-upload-module ...
返回列表
发新帖
nginx服务器实现上传文件功能_利用nginx-upload-module模块
[复制链接]
发表于 2025-10-19 15:28:06
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
目次
conf文件内容如下
html文件内容如下
上传文件
功能
展示
conf文件内容如下
#user nobody;
worker_processes 1;
error_log /usr/logs/error.log;
#error_log /usr/logs/error.log notice;
#error_log /usr/logs/error.log info;
#pid /usr/logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
client_max_body_size 100m;
location / {
root /root/nginxShare;
index uploadfile.html uploadfile.htm; # 这会使得在访问根目录时默认展示 uploadfile.html
}
error_page 405 =200 @405;
#
配置
上传位置
location /upload {
if ($request_method = 'GET'){
root /root/nginxShare;
}
if ($request_method = 'POST'){
upload_pass @test; # 指定上传完成后请求的处理位置
# upload_store /root/nginxShare/upload 1; # 数字1表示启用了一种特殊的文件
存储
机制,即分散
存储
upload_store /root/nginxShare/upload;
upload_store_access user:rw; #上传文件的权限,rw表示读写 r只读
#这里写入http报头,pass到后台页面后能获取这里set的报头字段
upload_set_form_field "${upload_field_name}_name" $upload_file_name;
upload_set_form_field "${upload_field_name}_content_type" $upload_content_type;
upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;
#Upload模块自动生成的一些信息,如文件大小与文件md5值
upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5;
upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size;
upload_pass_form_field "^submit$|^description$";
upload_cleanup 400 404 499 500-505; #如果pass页面是以下状态码,就删除此次上传的临时文件
}
}
# 处理上传完成后的请求
location @test {
# 这里可以
配置
代理到后端服务,或者直接返回响应
# 例如,返回一个简单的文本响应
return 200 'File uploaded successfully!20241104';
# 或者代理到某个后端服务处理上传后的逻辑
# proxy_pass http://localhost:7123;;
}
}
server {
listen 9000;
server_name localhost;
client_max_body_size 100m;
charset gbk,utf-8;
root /root/nginxShare;
location / {
auth_basic "Restricted";
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
}
}
复制
代码
html文件在/root/nginxShare目次下。
上传的文件存放在/root/nginxShare/upload目次下。
上传乐成会返回一个文本相应,文本内容为:File uploaded successfully!20241104
html文件内容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件上传测试</title>
</head>
<body>
<h2>文件上传</h2>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" required>
<br>
<input type="submit" value="上传">
</form>
</body>
</html>
复制
代码
上传文件
功能
展示
运行nginx
服务器
mkdir -p /var/log/nginx /var/tmp/nginx
./sbin/nginx -c /etc/nginx/nginx.conf
复制
代码
在欣赏器输入:192.168.61.61::80
表现页面如下:
点击选择文件,选择本地文件,点击上传后,会弹出如下页面:
下载该文件后,检察文件内容:
可以看到,文本内容符合预期,接着我们检察/root/nginxShare/upload目次
可以看到,文件已上传乐成,不外文件的名字是从1开始的,具体怎么控制文件名还没实现。
回复
使用道具
举报
返回列表
浏览过的版块
数据仓库与分析
Java
DevOps与敏捷开发
海哥
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表