RPC框架下实现文件上传到linux服务器
一、前端使用element -ui 的upload组件
:data 表示额外传递的参数, :header 表示设置请求头参数,如,token等, action表示后台api接口的地址
二、 contoller层
因为dubbo 不支持File文件类型的参数,所以转换成byte[],或者使用hessian协议
Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。
官网:http://dubbo.apache.org/zh/docs/v2.7/user/references/protocol/dubbo/
三、定义服务端暴露的接口
四、 provider端
现在文件只能传到本地电脑,不能传到Linux下,下面来实现传递到linux服务器上
测试下,在E盘下生成一个cc.pdf的文件
五、linux 安装ftp组件vsftpd
上次安装nginx,把selinux关闭了,现在开起selinux,并设置放行nginx
开启http访问
六、防火墙开启21端口
开放端口后需要重启防火墙
七、创建一个用户用于登录
八、给新创建的用户设置密码
九、修改selinux
使用下列命令查看selinux状态
getsebool -a | grep ftp
开启外网的访问权限
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
十、 关闭匿名访问
修改/etc/vsftpd/vsftpd.conf文件(访问时必须有用户名和密码才能访问):
vim /etc/vsftpd/vsftpd.conf
所以我就不修改了
十一、开启被动模式
默认是开启的,但是要指定一个端口范围,打开vsftpd.conf文件,在最后面加上下列内容
pasv_min_port=30000
pasv_max_port=30999
开放30000-30999端口,并重启防火墙
修改配置文件后要重启ftp服务
十二、设置开机启动vsftpd ftp 服务
十三、修改provider
首先要导入apache 的Commons-net
修改nginx下的default.conf,添加路径
重启nginx后,通过http访问
发现是403,查看下nginx权限
打开nginx.conf文件修改user 权限
把user 的nginx 修改为medical,我在此修改为root,重启nginx后再用浏览器访问
参考资料:
https://www.cnblogs.com/zhaixingzhu/p/12569156.html
https://www.jianshu.com/p/b113ba77d467
https://www.cnblogs.com/aotian/p/13222134.html
https://blog.csdn.net/csdn_lqr/article/details/53333946
https://blog.csdn.net/qq_41905042/article/details/105899450?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduend~default-1-105899450.nonecase&utm_term=centos8%E9%98%B2%E7%81%AB%E5%A2%99%E5%85%81%E8%AE%B8%E7%AB%AF%E5%8F%A3&spm=1000.2123.3001.4430