说明:之前老有人问博主除了FTP还有啥方法能把本地文件上传到VPS服务器,这里就分享个工具jQuery-File-Upload,一个文件上传工具,该工具可以上传任何文件,支持在线预览视频,上传后也可以在线删除等等,很方便,而且个人觉得上传比FTP要稳。由于原文件样式很不好看,所以博主就找前端大佬Zero博主帮忙进行精简和美化了下,也小小的适配了手机端。
截图
下载
为了考虑国内服务器的加载速度,该源码所有资源都本地化了,所以体积比简化前还大。
使用
环境要求:Nginx/Apache、PHP
1、直接使用
如果你自己有建站环境,直接将源码丢进网站根目录,再给予server/php/files目录可写入权限即可。上传后的文件保存在server/php/files文件夹,相关上传配置可在server/php/UploadHandler.php里修改。
2、Docker安装
如果你只是单纯的想上传文件,这里博主就制作了个Docker镜像,很快就装好了。
安装Docker:
#CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker
安装jQuery-File-Upload:
docker run --name upload -d -p 6800:80 -v /home:/var/www/server/php/files moerats/jquery-file-upload:latest #参数说明 -p 6800:80 前面的6800为容器映射到外部的端口,等于你访问ip:6800就等于访问程序,可自行修改 -v /home:/var/www/server/php/files 将程序里上传的文件映射到服务器的/home文件夹,可自行修改
完成后我们可以通过ip:6800访问程序,并上传文件至/home文件夹。
注意我们需要给映射的文件夹777权限,不然会上传失败。
chmod 777 /home
部分CentOS系统可能需要开启防火墙端口,不然会打不开。
#CentOS 6 iptables -I INPUT -p tcp --dport 6800 -j ACCEPT service iptables save service iptables restart #CentOS 7 firewall-cmd --zone=public --add-port=6800/tcp --permanent firewall-cmd --reload
总结
该程序配合无上传功能的H5ai、DirectoryLister目录索引一起使用挺不错的。特别是Docker可以直接将上传目录映射到具体的文件夹,有兴趣的可以玩玩。
如果你服务器空间很大,需要分批上传多个文件夹,可以多开几个Docker容器,比如分批传到/home和/rats文件夹,可分别运行命令
#记得--name参数和-p端口映射得不一样 docker run --name Linux -d -p 6800:80 -v /home:/var/www/server/php/files moerats/jquery-file-upload:latest docker run --name Win -d -p 6877:80 -v /rats:/var/www/server/php/files moerats/jquery-file-upload:latest
这时候可以分别访问ip:6800和ip:6877上传到/home和/rats文件夹了。