如何使用java程序向项目中上传图片_252尚学堂百战程序员074天

9471410e2600a213424e3ad188654476.png

训练大纲(第079天)

大家如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。确保老师课堂上做的操作,反复练习直到熟练。

第167次(VSFTP)

学习主题:VSFTP

学习目标:

1 掌握什么是FTP,为什么要学习FTP工具

2 掌握VSFTP

3 掌握FTPClient的使用

4 掌握FTPUtil工具类的使用

对应视频:

http://www.itbaizhan.cn/course/id/85.html

对应文档:

对应作业

1. VSFTP介绍

(1) 什么是FTP服务器?

FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。

用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传 输文件

(2) 什么是VSFTPD?

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、

HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的 FTP 服务器所不支持的特征

2. 项目中的图片服务器架构介绍

(1) 单体架构与分布式架构中对于上传文件管理的区别是什么?

单体架构:

在传统的单体架构项目中,可以在 web 项目中添加一个文件夹,来存放上传的图片。 例如在工程的根目录 WebRoot 下创建一个 images 文件夹用于保存已上传的图片。 优点:使用方便,便于管理 缺点: 1、如果是分布式环境中图片引用会出现问题。 2、图片的下载会给服务器增加额外的压力

d743f2e023ed6382ccae804fc247f918.png

分布式架构:

9e6db5450961fa18eaacdb9816bf77f0.png

3. 安装VSFTP

(1) 写出在linux下安装vsftp的步骤

1 安装 vsftpd 组件

yum -y install vsftpd 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是 vsftp 的配置文件。

2 添加一个 Linux 用户

此用户就是用来登录 ftp 服务器用的。 useradd ftpuser 这样一个用户建完,可以用这个登录。登录后默认的路径为 /home/ftpuser.

3 给用户添加密码。

passwd ftpuser 输入两次密码后修改密码。

4 防火墙开启 21 端口

因为 ftp 默认的端口为 21,而 centos 默认是没有开启的,所以要修改 iptables 文件 vim /etc/sysconfig/iptables 在行上面有 22 -j ACCEPT 下面另起一行输入跟那行差不多的,只是把 22 换成 21,然后: wq 保存。 还要运行下,重启 iptables service iptables restart

5 修改 selinux

外网是可以访问上去了,可是发现没法返回目录(使用 ftp 的主动模式,被动模式还是无法 访问),也上传不了,因为 selinux 作怪了。 修改 selinux: 执行以下命令查看状态: [root@bogon ~]# getsebool -a | grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off ftp_home_dir --> off ftpd_connect_db --> off ftpd_use_passive_mode --> off httpd_enable_ftp_server --> off tftp_anon_write --> off [root@bogon ~]# 执行上面命令,再返回的结果看到两行都是 off,代表,没有开启外网的访问 [root@bogon ~]# setsebool -P allow_ftpd_full_access on [root@bogon ~]# setsebool -P ftp_home_dir on

6 关闭匿名访问

修改/etc/vsftpd/vsftpd.conf 文件

重启 ftp 服务: service vsftpd restart

7 设置开机启动 vsftpd ftp 服务

chkconfig vsftpd on

4. 使用FTP协议访问图片

(1) FTP协议访问图片的URL格式是什么?

ftp://username:userpassword@IP/路径/图片名称 在 VSFTPD 的插件中。不允许这样访问。必须要有登录环节

5. FTPClient使用

(1) 什么是FTPClient?

FTPClient 是 Apache 提供的一个开源的基于 JAVA 语言的 FTP 客户端工具。 FTPClient 位于 Apache 的 commons-net 项目中

(2) 如何通过FTPClient的API上传图片?

public class TestUpload {public static void main(String[] args) throws Exception {fileUpload();
}//文件上传的方法public static void fileUpload() throws IOException {//创建FTPClient对象
FTPClient ftp = new FTPClient();//连接
ftp.connect("192.168.56.129",21);//登录
ftp.login("ftpuser","ftpuser");//操作文件上传
InputStream is = new FileInputStream("f://22.jpg");//指定上传文件的目录
ftp.changeWorkingDirectory("/home/ftpuser/bjsxt");//开启字节流传输
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);//文件上传
ftp.storeFile("hh.jpg",is);//推出登录
ftp.logout();
}
}

6. FtpUtil工具类的使用

(1) 如何通过FTPUtil工具类上传下载文件?

先引入FTPUtil工具类,在方法中调用FTPUtil工具类的静态方法,上传或下载,传入参数即可

分享/讲解/扩展思考

点名提问从第一节课到最后一节课分别学到了什么,直到同学们把所有的知识点都说出来并且保证无误。

第168次(KindEditor)

学习主题:KindEditor

学习目标:

1 掌握KindEditor插件的作用

2 掌握使用KindEditor完成图片上传功能

对应视频:

http://www.itbaizhan.cn/course/id/85.html

对应文档:

对应作业

7. KindEditor介绍

(1) 什么是KindEditor?

KindEditor 是一套开源的 HTML 可视化编辑器,主要用于让用户在网站上获得所见即 所得编辑效果,兼容 IE、Firefox、Chrome、Safari、Opera 等主流浏览器。 KindEditor 使用 JavaScript 编写,可以无缝的于 Java、.NET、PHP、ASP 等程序接合。KindEditor 非常适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用

8. 图片上传案例(对应93-98视频)

(1) 写出使用KindEditor完成多图片上传的概要步骤

1 在项目中添加 KindEditor 与 Jquery 的 js 文件

2 在 JSP 页面中通过 script 标签引入 js

3 在 JSP 中添加 textarea 标签

4 调用 KindEditor 的 API 将 KindEditor 渲染到 textarea

分享/讲解/扩展思考

点名提问从第一节课到最后一节课分别学到了什么,直到同学们把所有的知识点都说出来并且保证无误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值