nginx 赋值变量报错?

使用nginx直接上传文件,并根据文件名重新命名文件(默认的时候会生成一个随机的文件名)。
有些情况需要根据url传参(filename)的值来命名文件。
初始的想法是声明一个变量,在有filename参数时使用这个值,没有的时候用文件的默认name。
但是在 set $varfilename "$upload_file_name"; 会报错504 timeout。

将首行的 set $varfilename "" 换成 set $varfilename "$upload_file_name" 也是一样的报错。

如果把set $varfilename "$upload_file_name"中的$upload_file_name换成自己声明的变量,是可以的。
看起来像是$upload_file_name这个不能被用来赋值?

set $varfilename "";

# 报错504??
# if ($arg_filename = "") {
#     set $varfilename "$upload_file_name";
# }

if ($arg_filename) {
    set $varfilename "$arg_filename";
}
阅读 611
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题