前言:
前几天想通过nginx处理文件上传下载功能,之前是直接下载的官网的nginx然后研究发现,一般是使用nginx+lua实现这个功能,然后发现我这window是比较麻烦的,大概思路是把扩展内容放进去,重新编译nginx来使用,然后发现了openResty
学习记录
如何搭建和使用例子参考
https://www.jianshu.com/p/f6c607b3e8c2
即可,下面是一些自己弄的时候注意的地方:
1、文件存储路径
这里自定义文件目录var/www/download
使用OpenResty搭建文件服务器学习记录
使用OpenResty搭建文件服务器学习记录

2、使用download接口时找不到文件,打开不了文件
是因为下载的位置没有配对,根据自己的盘符位置修改
如图使用OpenResty搭建文件服务器学习记录
3、通过postman来上传文件调试,报不能打开文件错误,大概率就是因为上面找不到文件目录位置的原因。

4、当上传中文名字的文件时,虽然上传成功,但是文件名是乱码,这是因为window编码问题。目前想的解决办法是保存的时候如果是含中文的文件在nginx上实际保存的不是中文名,用uuid和时间创建名来保存(upload.lua里面已经实现了时间再加一个uuid函数功能就可以了),但是给客户端返回用户使用的真实文件名信息和路径信息,使用OpenResty搭建文件服务器学习记录
这样客户端就了解了真实的数据信息,做个跟nginx上文件做个对应就行了。
可见解决问题并不一定是那种直来直去的,当问题处理不了的时候,也可以使用折中的办法处理,也是比较合理的处理方式。
完结撒花。

相关文章: