亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java實(shí)現(xiàn)FTP上傳到服務(wù)器

 更新時(shí)間:2022年09月02日 10:16:05   作者:HSBhuang  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)FTP上傳到服務(wù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

簡介

FTP是TCP/IP協(xié)議組中的協(xié)議之一,包括兩個(gè)組成部分,一是FTP服務(wù)端,二是FTP客戶端,其中FTP服務(wù)器用來存儲(chǔ)文件,用戶可以使用FTP客戶端通過FTP協(xié)議訪問位于FTP服務(wù)器上的資源。

實(shí)例

下面利用Java實(shí)現(xiàn)FTP上傳圖片到遠(yuǎn)程服務(wù)器實(shí)例:

1、依賴jar包

<dependency>
? ? ? <groupId>commons-fileupload</groupId>
? ? ? <artifactId>commons-fileupload</artifactId>
? ? ? <version>1.4</version>
</dependency>
<dependency>
? ? ? <groupId>commons-io</groupId>
? ? ? ?<artifactId>commons-io</artifactId>
? ? ? ?<version>2.6</version>
</dependency>
<dependency>
? ? ? ?<groupId>commons-net</groupId>
? ? ? ?<artifactId>commons-net</artifactId>
? ? ? ?<version>3.6</version>
</dependency>

2、FtpUtil用來封裝上傳文件的工具類

public class FtpUtil {
? ? public static void UploadImageByInputStream(InputStream is,String imageName) throws IOException {
? ? ? ? //創(chuàng)建ftp客戶端
? ? ? ? FTPClient ftpClient = new FTPClient();
? ? ? ? ftpClient.setControlEncoding("GBK");
? ? ? ? String hostname = "127.0.0.1";//服務(wù)器地址
? ? ? ? int port = 21;//ftp端口
? ? ? ? String username = "vftp";//ftp用戶名
? ? ? ? String password = "****";//密碼

? ? ? ? //連接ftp服務(wù)器
? ? ? ? ftpClient.connect(hostname, port);
? ? ? ? //登陸ftp
? ? ? ? ftpClient.login(username, password);
? ? ? ? int reply = ftpClient.getReplyCode();
? ? ? ? System.out.println(reply);
? ? ? ? //如果reply返回230就算成功了,如果返回530密碼用戶名錯(cuò)誤或當(dāng)前用戶無權(quán)限
? ? ? ? if (!FTPReply.isPositiveCompletion(reply)) {
? ? ? ? ? ? ftpClient.disconnect();
? ? ? ? ? ? return;
? ? ? ? }
? ? ? ? //設(shè)置文件類型(二進(jìn)制)
? ? ? ? ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
? ? ? ? //設(shè)置被動(dòng)模式
? ? ? ? ftpClient.enterLocalPassiveMode();

// ? ? ?ftpClient.makeDirectory("images");//在root目錄下創(chuàng)建文件夾
// ? ? ? ?String remoteFileName = System.currentTimeMillis()+"_"+imageName;
// ? ? ? ?ftpClient.storeFile("/www/wwwroot/vftp/"+imageName, is);//文件你若是不指定就會(huì)上傳到root目錄下
? ? ? ? ftpClient.storeFile(imageName, is);//文件你若是不指定就會(huì)上傳到root目錄下
? ? ? ? is.close();
? ? ? ? ftpClient.logout();
? ? ? ? ftpClient.disconnect();
? ? }
}

3、控制器

@RestController
public class FileUploadController {

? ? @RequestMapping("/upload")
? ? public String upload(@RequestParam("file") MultipartFile file) {
? ? ? ? if (!file.isEmpty()){
? ? ? ? ? ? try {
? ? ? ? ? ? ? ? InputStream inputStream = file.getInputStream();
? ? ? ? ? ? ? ?? ?FtpUtil.UploadImageByInputStream(inputStream,file.getOriginalFilename());
? ? ? ? ? ? } catch (IOException e) {
? ? ? ? ? ? ? ? e.printStackTrace();
? ? ? ? ? ? ? ? return "fail";
? ? ? ? ? ? }
? ? ? ? ? ? return "success";
? ? ? ? }else {
? ? ? ? ? ? return "fail";
? ? ? ? }
? ? }
}

4、前端頁面

<body>
? ? <form action="/upload" method="post" enctype="multipart/form-data">
? ? ? ? 選擇文件:<input type="file" name="file"><br>
? ? ? ? <input type="submit" value="上傳">
? ? </form>
</body>

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Springboot如何通過yml配置文件為靜態(tài)成員變量賦值

    Springboot如何通過yml配置文件為靜態(tài)成員變量賦值

    這篇文章主要介紹了Springboot如何通過yml配置文件為靜態(tài)成員變量賦值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式

    Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式

    這篇文章主要介紹了Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 淺談java Iterator.remove()方法的用法(詳解)

    淺談java Iterator.remove()方法的用法(詳解)

    下面小編就為大家?guī)硪黄獪\談java Iterator.remove()方法的用法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • SpringCloud實(shí)戰(zhàn)小貼士之Zuul的路徑匹配

    SpringCloud實(shí)戰(zhàn)小貼士之Zuul的路徑匹配

    這篇文章主要介紹了SpringCloud實(shí)戰(zhàn)小貼士之Zuul的路徑匹配,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java的sort的排序及使用詳解

    Java的sort的排序及使用詳解

    這篇文章主要為大家詳細(xì)介紹了Java的sort的排序及使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 ,希望您能夠多多關(guān)注
    2022-02-02
  • 線程池中使用spring aop事務(wù)增強(qiáng)

    線程池中使用spring aop事務(wù)增強(qiáng)

    這篇文章主要介紹了線程池中使用spring aop事務(wù)增強(qiáng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • @Cacheable 拼接key的操作

    @Cacheable 拼接key的操作

    這篇文章主要介紹了@Cacheable 拼接key的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • MyBatisPlus唯一索引批量新增或修改的實(shí)現(xiàn)方法

    MyBatisPlus唯一索引批量新增或修改的實(shí)現(xiàn)方法

    本文主要介紹了MyBatisPlus唯一索引批量新增或修改的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Java實(shí)現(xiàn)復(fù)雜的進(jìn)制轉(zhuǎn)換器功能示例

    Java實(shí)現(xiàn)復(fù)雜的進(jìn)制轉(zhuǎn)換器功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)復(fù)雜的進(jìn)制轉(zhuǎn)換器功能,結(jié)合實(shí)例形式分析了java數(shù)學(xué)運(yùn)算的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-01-01
  • idea同時(shí)編輯多行問題-win&mac都支持

    idea同時(shí)編輯多行問題-win&mac都支持

    這篇文章主要介紹了idea同時(shí)編輯多行問題-win&mac都支持,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評(píng)論