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上传功能, 启动前读取配置文件ftp_upload.ini. */ func main() { // 读取配置文件 iniConfig := new(util.Config) iniConfig.InitConfig("./ftp_upload.ini") host := iniConfig.Read...
ftp文件服务器的调用、上传下载方法,If you need you can download
可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过...
AnonymousCantUpload no 是否允许匿名用户上传文件(no=允许) 第2步,Pure-FTPD服务是以ftp账号运行的,所以需要先检查/etc/passwd下是否有ftp账号。如果没有,执行以下指令添加该用户: [root@localhost ~]#useradd...
在开发中,会遇到向FTP服务器上传文件的需求,首先要导入 commons-net-3.3.jar 然后利用api进行相关操作,具体功能如下: Ftp相关代码 import android.util.Log; import org.apache.commons.net.ftp.FTP; import org...
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 ...
将文件上传到FTP服务器 对于上载和部署内容很有用。 安装 $ npm install --save-dev gulp-ftp 用法 var gulp = require ( 'gulp' ) ; var gutil = require ( 'gulp-util' ) ; var ftp = require ( 'gulp-ftp' ) ; ...
Android中使用的FTP上传、下载,含有进度。 代码部分主要分为三个文件:MainActivity,FTP,ProgressInputStream 1. MainActivity package com.ftp; import java.io.File; import java.io.IOException; import ...
// 定义文件的上传路径 private String uploadPath = "G://upload/"; // 限制文件的上传大小 private int maxPostSize = 100 * 1024 * 1024; public FileUploadServlet() { super(); } public void ...
16.IUploadFile 文件上传接口 17.LBCUploadFile 文件上传类 18.ListConvert Table转换类 19.NetMail 发送邮件的类 20.PasswordGenerator 产生随机码 21.StringManager 字符串管理类 22.UploadFile 提供上传文件时所...
V1.8.9更新日志: 1.ftp工具类增加上传文件功能。 2.邮件增加抄送、密送、发送附件功能。 3.读取配置文件工具类增加修改和新增属性功能。 4.其他6处代码优化。 老沙超级工具包-包含几十个工具类,经历了5年的认真...
edtftpj下载:http://www.enterprisedt.com/products/edtftpj/download.html<br><br>需求描述:把WEB服务器上一个目录中所有的文件上传到指定ftp服务器的某个目录中。 分析: 在edtftpj中有个FTPClient类,...
ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...
ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...
ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...
ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...
ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...
ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地...
EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...