nginx上传模块nginx_upload_module使用
时间:2016-03-03 19:46 来源:linux.it.net.cn 作者:it.net.cn
以下在nginx1.2.7上测试通过
1、安装模块
1
cd
/data/software
2
wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.
tar
.gz
3
或者在https://github.com/vkholodkov/nginx-upload-module/tree/2.2下载
4
tar
zxvf nginx_upload_module-2.0.12.
tar
.gz
进入nginx源码目录
1
./configure --with-http_stub_status_module \ --add-module=/data/software/nginx_upload_module-2.0.12
2
make
#新增模块,不用make install
3
mv
/usr/
local
/nginx/sbin/nginx /usr/
local
/nginx/sbin/nginx.bak
4
cp
./objs/nginx /usr/
local
/nginx/sbin/nginx
2、修改配置文件,在server中增加一下内容
01
location /upload {
02
upload_pass /info.php;
#上传完成后端接受处理文件
03
upload_store /data/uptmp;
#上传文件夹
04
upload_limit_rate 1024k;
# 限制上传速度
05
upload_set_form_field
"${upload_field_name}_name"
$upload_file_name;
#文件名称
06
upload_set_form_field
"${upload_field_name}_content_type"
$upload_content_type;
#文件类型
07
upload_set_form_field
"${upload_field_name}_path"
$upload_tmp_path;
#上传到的路径
08
upload_aggregate_form_field
"${upload_field_name}_md5"
$upload_file_md5;
#md5
09
upload_aggregate_form_field
"${upload_field_name}_size"
$upload_file_size;
#文件大小
10
upload_pass_form_field
"^submit$|^description$"
;
11
#如果希望把所有的表单字段都传给后端可以用upload_pass_form_field "^.*$";
12
}
3、前端代码
up.html
01
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
02
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
03
<
head
>
04
<
title
>无标题文档</
title
>
05
</
head
>
06
<
body
>
07
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
08
<
form
name
=
"upload"
method
=
"POST"
enctype
=
"multipart/form-data"
action
=
"/upload"
>
<!--提交到上面的/upload-->
09
<
input
type
=
"file"
name
=
"file"
>
10
11
<
input
type
=
"submit"
name
=
"submit"
value
=
"Upload"
>
12
</
form
>
13
</
body
>
14
</
html
>
info.php
1
<?php
2
header(
"Content-Type:text/html; charset=utf-8"
);
3
print_r(
$_POST
);
上传会返回如下图数据

标签: linux centos api
« centos下Samba配置 解决没有权限问题 | php判断文件类型»
评论:
(责任编辑:IT)
以下在nginx1.2.7上测试通过 1、安装模块
2、修改配置文件,在server中增加一下内容
3、前端代码 up.html
上传会返回如下图数据
标签: linux centos api
« centos下Samba配置 解决没有权限问题 | php判断文件类型»
评论: |
2015-06-08 14:25
再结合 此中文文件 我是这样做的
1。 location /upload {
# Pass altered request body to this location
upload_pass @uploadBackendDispose; //这个位置是否是文章上传成功到指定目录后 戳发后台处理的地址
upload_store /tmp/upload 1;
2. location @uploadBackendDispose {
proxy_pass http://192.168.1.215:8080
3. 上传页面是这样配的
<form method="POST" action='192.168.1.215:80/upload' name="postForm" enctype="multipart/form-data">
选择文件1:
<input type="file"name="filename1"/>
4. 我在页面点击上传,浏览器地址显示 192.168.1.215:80/upload 404错误
6. 如果 upload_pass 是文章上传成功到指定目录后 戳发后台处理的地址,我想戳发 /FileUpload/upload 应该怎么配
WEB 工程 FileUpload 我这样配的
<servlet>
<description>UploadHttpServlet</description>
<display-name>UploadHttpServlet</display-name>
<servlet-name>UploadHttpServlet</ servlet-name>
<servlet-class>fileUpload.UploadHttpServlet</ servlet-class>
</ servlet>
<servlet-mapping>
<servlet-name>UploadHttpServlet</ servlet-name>
<url-pattern>/upload</url-pattern>
</ servlet-mapping>