一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

2020-07-19 11:59jaycekong Java教程

本文主要對(duì)Java FtpClient實(shí)現(xiàn)簡(jiǎn)單的圖片上傳到服務(wù)器的方法進(jìn)行介紹,并且展示的小demo中,對(duì)配置過程中主要碰到的問題:關(guān)于文件權(quán)限的問題也進(jìn)行了說(shuō)明,下面跟著小編一起來(lái)看下吧

一、Ubuntu 安裝 Vsftpd 服務(wù)

1、安裝    

sudo apt-get install vsftpd

2、添加用戶(uftp)

sudo useradd -d /home/uftp -s /bin/bash uftp

3、設(shè)置用戶密碼

sudo useradd -d /home/uftp -s /bin/bash uftp

4、創(chuàng)建用戶目錄

sudo mkdir /home/uftp

5、設(shè)置用戶密碼

sudo passwd uftp

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

6、設(shè)置/etc/vsftpd.conf配置文件

sudo vim /etc/vsftpd.conf

    a、修改上傳文件的權(quán)限:

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

    這里會(huì)有一個(gè)問題,默認(rèn)情況下的默認(rèn)權(quán)限是 077 也就是對(duì)應(yīng)Linux 中的700 計(jì)算規(guī)則是 linux 的權(quán)限 777 - local_umask

    如果沒有設(shè)置local_umask 文件權(quán)限,會(huì)導(dǎo)致上傳之后的文件,我們無(wú)法通過服務(wù)器訪問(缺少權(quán)限)

    b、在配置文件末尾添加:

?
1
2
3
4
5
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO
local_enable=YES

    c、設(shè)置上傳文件權(quán)限:

    write_enable = YES

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

這里如果不設(shè)置成YES 默認(rèn)情況下不允許上傳文件。

7、創(chuàng)建/etc/allowed_users

添加允許任務(wù)加入到文件中,

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

8、重啟服務(wù)

sudo service vsftpd restart

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

9、使用XFTP 測(cè)試連接

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

使用XFtp 創(chuàng)建一個(gè)新的連接,這里需要注意選擇的協(xié)議ftp,端口是21,在填寫好賬號(hào)密碼之后,即可以連接我們的服務(wù)器。

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

測(cè)試上傳文件:

這里上傳了一個(gè)txt 文件,我們可以看到文件的權(quán)限是666,這里主要就是因?yàn)槲覀冊(cè)O(shè)置了上傳文件之后的權(quán)限 local_umask.

二、Java FtpClient 實(shí)現(xiàn)文件上傳

1、Maven 依賴

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- Apache工具組件 -->
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
  </dependency>
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-io</artifactId>
  </dependency>
  <dependency>
   <groupId>commons-net</groupId>
   <artifactId>commons-net</artifactId>
  </dependency>

2、創(chuàng)建FtpClient 對(duì)象遠(yuǎn)程連接服務(wù)器

?
1
2
3
FTPClient ftp = new FTPClient();
//鏈接遠(yuǎn)程服務(wù)
ftp.connect("192.168.148.128", 21);

連接結(jié)果可以debug 看到:

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

3、FtpClient  登錄服務(wù)器

?
1
2
3
4
5
6
7
ftp.login("uftp", "**");
   //返回登錄結(jié)果狀態(tài)
   int reply = ftp.getReplyCode();
   if (!FTPReply.isPositiveCompletion(reply)) {
    ftp.disconnect();
    return ;
   }

我們可以通過判斷replyCode 和replyString 來(lái)查看用戶是否登錄成功!

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

4、修改文件上傳路徑和文件類型

?
1
2
3
4
//修改上傳文件路徑
ftp.changeWorkingDirectory("/home/uftp/images/");
//修改文件類型
ftp.setFileType(FTP.BINARY_FILE_TYPE);

5、上傳文件

?
1
2
3
4
//獲取上傳文件的輸入流
 FileInputStream fileInputStream = new FileInputStream(new File("D:/123.jpg"));
//把文件推到服務(wù)器上
ftp.storeFile("hello.jpg", fileInputStream);

上傳文件完成之后,通過查看返回結(jié)果判斷時(shí)候上傳成功

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

6、退出登錄

?
1
2
//退出登錄
ftp.logout();

以上步驟就是使用FtpClient完成了一次文件上傳操作。

三、使用Nginx 查看服務(wù)器圖片

1、nginx 配置文件

在server 中添加 圖片地址解析

?
1
2
3
4
location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt)${
  root /home/uftp/images;
  expires 7d;
}

2、重啟Nginx

./nginx -s reload

3、查看圖片

http://192.168.148.128/hello.jpg

Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

總結(jié):到這里我們就完成了一個(gè)簡(jiǎn)單的圖片上傳到服務(wù)器,并且展示的小demo,配置過程中主要碰到的問題是關(guān)于文件權(quán)限的問題,如果沒有設(shè)置vsftpd 中的配置文件中l(wèi)ocal_umask,即使我們成功上傳了文件,也無(wú)法使用nginx 進(jìn)行瀏覽,設(shè)置write_enable = YES 保證文件能夠上傳。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持服務(wù)器之家!

原文鏈接:http://www.cnblogs.com/jaycekon/p/6221925.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 极品ts赵恩静和直男激战啪啪 | 日韩色图区| 亚洲精品久久久打桩机 | 7个黑人玩北条麻妃 | 动漫jk美女被爆羞羞漫画 | 美女牲交毛片一级视频 | 精品卡1卡2卡三卡免费网站 | 国产欧美日韩专区 | 免费日批| 欧美a级在线观看 | 国产成人亚洲精品乱码在线观看 | xxxxx性13一14| 2018高清国产一道国产 | 国产探花视频在线观看 | 太紧太深了受不了黑人 | 欧美整片在线 | 久久久亚洲国产精品主播 | 午夜国产| 亚洲六月丁香六月婷婷色伊人 | 18free性欧美另类hd | 国产成人精品视频一区 | 久久精品嫩草影院免费看 | 久见久热 这里只有精品 | 亚洲图片综合网 | 久久久精品免费视频 | 99视频久久精品久久 | 国产农村一级特黄α真人毛片 | 国产91在线精品 | 97就去干| 2021国产精品视频 | 欧美日韩亚毛片免费观看 | 我半夜摸妺妺的奶C了她 | 免费看美女被靠到爽 | 欧洲肥女大肥臀 | 亚洲AV精品无码喷水直播间 | 99热网址| 国产福利在线观看永久视频 | 国产精品国语自产拍在线观看 | 狠狠色伊人亚洲综合网站色 | 成人在线观看免费视频 | 黑人异族日本人hd |