本文已参与「新人创作礼」活动, 一起开启掘金创作之路
一、Windows系统配置FTP服务
FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为「文传协议」,用于 Internet 上控制文件的双向传输。
本文描述的配置流程以 Windows Server 2012 Standard 服务器为例,若使用其他版本的 Windows Server 操作系统,配置方法类似。
1. 应用场景
希望把生成的附件上传到其他服务器的 FTP 上面,需要提前准备已配置的 FTP 服务器。
2. 操作步骤
2.1 配置 FTP 服务器
1)从启动栏打开服务器管理器,选择添加角色和功能
\
2)点击进入「服务器选择」界面,选择服务器,然后点击「下一步」
3)勾选 Web 服务器(IIS)后,弹窗进行确认,点击「添加功能」
4)然后点击两次「下一步」,进入「角色服务」界面,勾选「FTP 服务」
5)点击「下一步」,进行确认安装
6)开始安装
2.2 添加 FTP 站点
1)从服务器管理器的工具菜单栏,打开「IIS 管理器」
2)选择网站选项,点击右侧的 添加 FTP 站点\
3)填写 FTP 站点名称和物理路径,物理路径即 FTP 上传下载文件的保存目录(可以在任意盘新建,名称自定义)\
4)绑定和 SSL 设置:勾选自动启动 FTP 站点,选择「无 SSL」
5)按照下图,选择身份验证和授权、权限
2.3 新建用户和测试 ftp
1)打开计算机管理,在本地用户和组—用户中,右键新建用户
2)给新用户配置用户名、密码,建议勾选「密码用不过期」
注意:密码建议英文字母大小写+数字,当密码过于简单时无法创建,本文档FAQ中提供有解决办法。\
3)创建完毕:\
4) 拷贝工程里的 WEB-INF 文件夹,并粘贴到设置的物理路径下\
5) 将浏览器地址栏访问 ftp://ip,这步需要用户名和密码登录 FTP
至此,我们在 Windows Server 上成功搭建了文件服务器。\
3. 平台配置文件服务器
1) Windows Server 编码默认为 GBK,在平台配置文件服务器时要选择对应的编码。
2) 平台配置文件服务器时,ftp 路径填写 /WEB-INF
注1:按照文档部署的 FTP 服务,Linux 系统填写绝对路径,如用户名为 ftpuser ,那么路径为 /home/ftpuser/WEB-INF,Windows 系统填写相对路径 /WEB-INF 即可。
注2:配置集群更多步骤请参见:配置集群
4. FAQ文档
1) 新建 ftp 时可能提示密码不符合复杂度要求。在命令行输入 gpedit.msc,「计算机配置 -> Windows 设置 -> 安全设置 -> 账户策略 -> 密码策略」,在右边列表,可以根据自己需求进行修改。
2) 访问 ftp://ip 时报错
在浏览器访问 ftp://ip 时,报错:200 Switching to ASCII mode.227 Entering Passive Mode (0,0,0,0,227,175),打开「网络和共享中心>Internet选项>高级」,将使用被动FTP(用于防火墙和DSL调制解调器的兼容)选项去掉即可。
二、后台填报设计
函数FILENAME()获取文件名
判断当前单元格文件名是否为空(主要为了解决在后面出现一个bug是后提交的数据会覆盖前面提交好的数据)
if(LEN(E3)>0,E3,FILENAME(C3)
文件路径||uuid||文件名 = 数据库中文件路径
下图上传文件加上uuid 是为了区分不同公司下的附件名
下图主要是单元格组 以及参数的传递
用到一个填报成功事件 填报成功后即刷新子页面但不关闭
contentPane.refreshAllSheets()
1. 上传附件
需要勾选红框选项 勾选则显示图片
2. 下载附件
下载附件这里 主要是重命名问题 即上传文件名 = 下载文件名