How can I upload images using FTP on Android?
如何在Android上使用FTP上传图片?
2 个解决方案
#1
6
Use SimpleFTP, simply add simpleftp.jar to your classpath and import the package in whichever classes will use it: Download here
使用SimpleFTP,只需添加SimpleFTP。将jar导入到类路径中,并在任何类中导入包:在这里下载
import org.jibble.simpleftp.*;
Make sure you use binary mode when uploading images and suchlike, or they may become corrupted.
在上传图片或类似图片时,请确保使用二进制模式,否则它们可能会被损坏。
try
{
SimpleFTP ftp = new SimpleFTP();
// Connect to an FTP server on port 21.
ftp.connect("ftp.somewhere.net", 21, "username", "password");
// Set binary mode.
ftp.bin();
// Change to a new working directory on the FTP server.
ftp.cwd("web");
// Upload some files.
ftp.stor(new File("webcam.jpg"));
ftp.stor(new File("comicbot-latest.png"));
// You can also upload from an InputStream, e.g.
ftp.stor(new FileInputStream(new File("test.png")), "test.png");
ftp.stor(someSocket.getInputStream(), "blah.dat");
// Quit from the FTP server.
ftp.disconnect();
}
catch (IOException e)
{
e.printStackTrace();
}
This was all the functionality, so it does not let you download files!
这是所有的功能,所以它不允许你下载文件!
#2
3
Download the FTP Jar Library from Here
从这里下载FTP Jar库。
public void sendFileViaFTP() {
FTPClient ftpClient = null;
try {
ftpClient = new FTPClient();
ftpClient.connect(InetAddress.getByName("ftp.myserver.com"));
if (ftpClient.login("myftpusername", "myftppass")) {
ftpClient.enterLocalPassiveMode(); // important!
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
String Location = Environment.getExternalStorageDirectory()
.toString();
String data = Location + File.separator + "FileToSend.txt";
FileInputStream in = new FileInputStream(new File(data));
boolean result = ftpClient.storeFile("FileToSend.txt", in);
in.close();
if (result)
Log.v("upload result", "succeeded");
ftpClient.logout();
ftpClient.disconnect();
}
} catch (Exception e) {
Log.v("count", "error");
e.printStackTrace();
}
}
This will work for sure. I've done this many times.
这肯定行得通。我做过很多次了。
#1
6
Use SimpleFTP, simply add simpleftp.jar to your classpath and import the package in whichever classes will use it: Download here
使用SimpleFTP,只需添加SimpleFTP。将jar导入到类路径中,并在任何类中导入包:在这里下载
import org.jibble.simpleftp.*;
Make sure you use binary mode when uploading images and suchlike, or they may become corrupted.
在上传图片或类似图片时,请确保使用二进制模式,否则它们可能会被损坏。
try
{
SimpleFTP ftp = new SimpleFTP();
// Connect to an FTP server on port 21.
ftp.connect("ftp.somewhere.net", 21, "username", "password");
// Set binary mode.
ftp.bin();
// Change to a new working directory on the FTP server.
ftp.cwd("web");
// Upload some files.
ftp.stor(new File("webcam.jpg"));
ftp.stor(new File("comicbot-latest.png"));
// You can also upload from an InputStream, e.g.
ftp.stor(new FileInputStream(new File("test.png")), "test.png");
ftp.stor(someSocket.getInputStream(), "blah.dat");
// Quit from the FTP server.
ftp.disconnect();
}
catch (IOException e)
{
e.printStackTrace();
}
This was all the functionality, so it does not let you download files!
这是所有的功能,所以它不允许你下载文件!
#2
3
Download the FTP Jar Library from Here
从这里下载FTP Jar库。
public void sendFileViaFTP() {
FTPClient ftpClient = null;
try {
ftpClient = new FTPClient();
ftpClient.connect(InetAddress.getByName("ftp.myserver.com"));
if (ftpClient.login("myftpusername", "myftppass")) {
ftpClient.enterLocalPassiveMode(); // important!
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
String Location = Environment.getExternalStorageDirectory()
.toString();
String data = Location + File.separator + "FileToSend.txt";
FileInputStream in = new FileInputStream(new File(data));
boolean result = ftpClient.storeFile("FileToSend.txt", in);
in.close();
if (result)
Log.v("upload result", "succeeded");
ftpClient.logout();
ftpClient.disconnect();
}
} catch (Exception e) {
Log.v("count", "error");
e.printStackTrace();
}
}
This will work for sure. I've done this many times.
这肯定行得通。我做过很多次了。