`

ftp_文件上传Util

    博客分类:
  • Java
 
阅读更多

import java.io.*;

import java.net.URLEncoder;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.IOUtils;

import org.apache.commons.net.ftp.FTPClient;

import org.apache.commons.net.ftp.FTPClientConfig;

import org.apache.commons.net.ftp.FTPReply;

 

public class FtpLoadUtils {

/**

* ftp文件下载

* @param remotePath 文件路径

* @param fileName 文件索引名

* @param fileName2 文件真名

* @param response 

* @return

*/

public static boolean ftpDownFile(String remotePath, String fileName,

String fileName2,HttpServletResponse response) {

boolean success = false;

FTPClient ftp = new FTPClient();

try {

int reply;

// ftp.connect("127.0.0.1");

ftp.connect("196.128.1.184");

// 下面三行代码必须要,而且不能改变编码格式

ftp.setControlEncoding("GBK");

FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);

conf.setServerLanguageCode("zh");

// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器

ftp.login("aa", "123");// 登录

 

reply = ftp.getReplyCode();

if (!FTPReply.isPositiveCompletion(reply)) {

ftp.disconnect();

return success;

}

ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录

response.setContentType("APPLICATION/X-msdownload;charset=UTF-8");

response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName2, "utf-8"));

// 将文件保存到输出流outputStream中

OutputStream outputStream=response.getOutputStream();

//System.out.println(new String(fileName.getBytes("GBK"), "ISO-8859-1"));

ftp.retrieveFile(new String(fileName.getBytes("GBK"), "ISO-8859-1"), outputStream);

outputStream.flush();

outputStream.close();

 

ftp.logout();

success = true;

} catch (IOException e) {

e.printStackTrace();

} finally {

if (ftp.isConnected()) {

try {

ftp.disconnect();

} catch (IOException ioe) {

}

}

}

return success;

}

 

/**

* ftp文件上传

* @param srcFile 文件流

* @param imgmc 文件索引名

* @param path 文件存储路径

* @return

*/

public static boolean upload(File srcFile, String imgmc,String path) {

boolean result=false;

FTPClient ftpUploadClient = new FTPClient();

FileInputStream fis = null;

try {

ftpUploadClient.connect("196.128.1.x");

ftpUploadClient.login("aa", "123");// 正式name

ftpUploadClient.makeDirectory(path);

fis = new FileInputStream(srcFile);

ftpUploadClient.setBufferSize(1024);

ftpUploadClient.setFileType(FTPClient.BINARY_FILE_TYPE);

ftpUploadClient.storeFile(path+ imgmc, fis);

fis.close();

ftpUploadClient.logout();

result=true;

} catch (IOException e) {

e.printStackTrace();

} finally {

IOUtils.closeQuietly(fis);

if(ftpUploadClient.isConnected()){

try {

ftpUploadClient.disconnect();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return result;

}

}

分享到:
评论

相关推荐

    FTP文件上传下载Util类

    FTP文件上传下载Util类

    GO语言实现的FTP文件自动上传源码

    说明:本程序主要是实现ftp上传功能, 启动前读取配置文件ftp_upload.ini. */ func main() { // 读取配置文件 iniConfig := new(util.Config) iniConfig.InitConfig("./ftp_upload.ini") host := iniConfig.Read...

    ftp工具类(util)

    ftp文件服务器的调用、上传下载方法,If you need you can download

    ftp4j-1.3.1下载

    可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过...

    Linux FTP服务搭建

    AnonymousCantUpload no 是否允许匿名用户上传文件(no=允许) 第2步,Pure-FTPD服务是以ftp账号运行的,所以需要先检查/etc/passwd下是否有ftp账号。如果没有,执行以下指令添加该用户: [root@localhost ~]#useradd...

    Android FTP服务器上传文件攻略(代码详解)

    在开发中,会遇到向FTP服务器上传文件的需求,首先要导入 commons-net-3.3.jar 然后利用api进行相关操作,具体功能如下: Ftp相关代码 import android.util.Log; import org.apache.commons.net.ftp.FTP; import org...

    JAVA程序中FTP的连接以及上传文件

    import sun.net.ftp.FtpClient; public class ftptest { FtpClient ftpClient; private String localfilename; private String remotefilename; static String a = new String(); static int b; static ...

    gulp-ftp:[不建议使用]将文件上传到FTP服务器

    将文件上传到FTP服务器 对于上载和部署内容很有用。 安装 $ npm install --save-dev gulp-ftp 用法 var gulp = require ( 'gulp' ) ; var gutil = require ( 'gulp-util' ) ; var ftp = require ( 'gulp-ftp' ) ; ...

    Android中FTP上传、下载的功能实现(含进度)

    Android中使用的FTP上传、下载,含有进度。 代码部分主要分为三个文件:MainActivity,FTP,ProgressInputStream 1. MainActivity package com.ftp; import java.io.File; import java.io.IOException; import ...

    flex中的文件上传(简单例子)

    // 定义文件的上传路径 private String uploadPath = "G://upload/"; // 限制文件的上传大小 private int maxPostSize = 100 * 1024 * 1024; public FileUploadServlet() { super(); } public void ...

    C# 常用类代码(封装)

    16.IUploadFile 文件上传接口 17.LBCUploadFile 文件上传类 18.ListConvert Table转换类 19.NetMail 发送邮件的类 20.PasswordGenerator 产生随机码 21.StringManager 字符串管理类 22.UploadFile 提供上传文件时所...

    util:J2EE日常开发中整理的工具类。分为IO类扩展、image类扩展、JDK常用类扩展、网络类扩展等

    V1.8.9更新日志: 1.ftp工具类增加上传文件功能。 2.邮件增加抄送、密送、发送附件功能。 3.读取配置文件工具类增加修改和新增属性功能。 4.其他6处代码优化。 老沙超级工具包-包含几十个工具类,经历了5年的认真...

    editftp-pro

    edtftpj下载:http://www.enterprisedt.com/products/edtftpj/download.html<br><br>需求描述:把WEB服务器上一个目录中所有的文件上传到指定ftp服务器的某个目录中。 分析: 在edtftpj中有个FTPClient类,...

    JAVA上百实例源码以及开源项目

    ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...

    java源码包---java 源码 大量 实例

    ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...

    java源码包2

    ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...

    java源码包3

    ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...

    java源码包4

    ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...

    JAVA上百实例源码以及开源项目源代码

    ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...

Global site tag (gtag.js) - Google Analytics